Prjm can report various information about the version control state of the packages in your project. To list all packages that are locally modified, type
prjm -ismodified
This will produce a listing like the following:
There are locally modified packages: pkg_config pkg_vc
telling you that the packages pkg_config and pkg_vc have been locally modfied and the changes have not been committed to the version control repository.
To list all packages that have been modified by others, type
prjm -isoutofdate
To list all packages that have modifications that are conflicting with modifications made by other programmers, type
prjm -hasconflicts
If you need more precise information about what elements in the packages have been changed, you can use
prjm -showmodified prjm -showoutofdate prjm -showconflicts
This lists the version control state of each package element of every package of your project. The command
prjm -isrelease
will check if all the packages of your project are releases. If any development version is found, prjm will tell you so and abort the check. In any case, prjm will return a value (exit code) of 0 in case of success (truthhood) and an integer not equal to 0 in case of failure.
To produce difference listing of all the changes in your project (or in some of its packages), the project manager contains various `diff' commands that show the differences between the your workspace, its base version, and one or two snapshots or releases.
To list all modifications of all the packages in your workspace as a (context or unified context) diff listing, use one of the following commands:
prjm -k -diff prjm -k -cdiff prjm -k -udiffTo list differences between the current version and some other named snapshot or release, you may use the -t option:
prjm -k -diff -t <snapshot1> prjm -k -cdiff -t <snapshot1> prjm -k -udiff -t <snapshot1>To list differences between two named snapshots or releases, just specify two -t options:
prjm -k -diff -t <snapshot1> -t <snapshot2> prjm -k -cdiff -t <snapshot1> -t <snapshot2> prjm -k -udiff -t <snapshot1> -t <snapshot2>You must be aware of the fact that different snapshots and releases may contain different sets of packages, and that the set of packages compared is always based of the contents of the current workspace. All packages that are not either in the current workspace or in one of the snapshots stated on the command line are not compared; instead prjm issues a message that some diffs may remap=tt>be missing.
If you want to generate a diff listing of all the changes contained in a named change set, use one of the following commands:
prjm -k -diff -cs <changeset> prjm -k -cdiff -cs <changeset> prjm -k -udiff -cs <changeset>You may also obtain information about all snapshots or releases of a project by the commands
prjm -showsnapshots prjm -showsrleaseswhich list the names of all defined snapshots and releases. If you want you have a look at the actual configuration of a snapshot or a release, use
prjm -showsnapshot snapshotname [ snapshotname2 [ ... ] ] prjm -showsrlease releasename [ releasename2 [ ... ] ]If you also specify the -l option, you will get yet more information from these commands.
To view a complete log of all available information of snapshots or releases, use
prjm -snapshotlog prjm -releaselogIt is also possible to change a snapshot or release description after its creation, though you should generally avoid this and rather create a new configuration, since the old information will be lost. Anyway, if you feel to extend the description of one of your snapshots or releases, you may use
prjm -editsnapshot snapshotname prjm -editrelease releasename
Finally, you can have a look at the project state cache that is maintained by prjm to speed up its operations by
prjm -showcache