Use of pcli vs put, get, vlog, vcs


I've a 8.4 file server that is hosting several PVCS repositories

For all of them we are managing through "old-fashioned" commands like put, get, vcs, vlog from commandl line (no GUI either) instead of pcli. PCLI I think might be a better tool as provides more advanced functionality so I wanted to give it a try.

When I'm making tests to use pcli instead of the other commands I cannot find any module inside the repositories. 

I guess this is beacause somehow pcli and other commands are not compatible?

Is there any way I could make the current pvcs modules in my repositories "visible" for pcli?

Thanks and kind regards!

  • Verified Answer

    Hello Pedro,

    Being the Project Command Line Interface, PCLI needs to interface with a Project Database (PDB).

    If you don't have any project database yet, one would have to be created, either using the VM Desktop Client GUI or using the PCLI command CreateProjectDB. This isn't necessarily complex, but you want to consider a few things.

    1. The path to the PDB should probably be related to the archive paths. If you are currently using a VM File Server you likely want to use the same Path Map, though that's not required.

    2. Do the current CLI commands use one or more CFG files? If yes, how are those accessed? This will determined if/how those CFG file will be encapsulated into the new PDB.

    Once the PDB has been created, you can run:

    pcli ImportArchives -pr"ClientNamePathToPDB" -pp/ -z "ClientNamePathToTopLevelArchiveDir"/*

    This will create a project folder for every subdirectory under ArchiveDir and link the existing archives to file entries in these project. From that point on you can refer to files using /project/subproject/.../file in PCLI command, like:

    pcli Get -pr"ClientNamePathToPDB" /top/middle/bottom/file.txt

    or, to fetch the entire tree:

    pcli Get -pr"ClientNamePathToPDB" -z /

    pcli Get -pr"ClientNamePathToPDB" -o -a"C:\builds" -z /

    Kind regards,

    - Richard.