This document assumes that you know what CVS is, and that you at least know the fundamental concepts of CVS. If that is not the case, you should read the CVS documentation. Type info -f cvs or man cvs.
PCL-CVS is only useful once you have checked out a module. So before you invoke it, you must have a copy of a module somewhere in the file system.
You can invoke PCL-CVS by typing M-x cvs-examine <RET>. You can also invoke it via the menu bar, under ‘Tools’. Or, if you prefer, you can also invoke PCL-CVS by simply visiting the CVS administrative subdirectory of your module, with a prefix argument. For example, to invoke PCL-CVS in a separate frame, type C-u C-x 5 f ~/my/project/CVS <RET>.
cvs-examine will ask for a directory. The command
‘cvs -n update’ will be run in that directory. (It should contain
files that have been checked out from a CVS archive.) The output from
cvs will be parsed and presented in a table in a buffer called
*cvs*. It might look something like this:
Repository : /usr/CVSroot Module : test Working dir: /users/ceder/FOO/test In directory .: Need-Update bar Need-Update file.txt Modified namechange Need-Update newer In directory sub: Modified ChangeLog --------------------- End --------------------- -- last cmd: cvs -f -z6 -n update -d -P --
In this example, your repository is in /usr/CVSroot and CVS has been run in the directory /users/ceder/FOO/test. The three files (bar, file.txt and newer) that are marked with ‘Need-Update’ have been changed by someone else in the CVS repository. Two files (namechange and sub/ChangeLog) have been modified locally, and need to be checked in.
You can move the cursor up and down in the buffer with C-n and C-p or n and p. If you press c on one of the ‘Modified’ files, that file will be checked in to the CVS repository. See Committing changes. You can also press O to update any of the files that are marked ‘Need-Update’. You can also run M-x cvs-update <RET> (bound to M-u in the *cvs* buffer) to update all the files.
You can then press = to easily get a ‘diff’ between your modified file and the base version that you started from, or you can press l to get the output from ‘cvs log’. Many more such commands are available simply by pressing a key (see Getting info about files).