Getting started
***************
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>'.
The function `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. Note: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 (Note:Getting info about files).