Depends on: Emacs, Elib
Authors: Per Cederqvist and Stefan Monnier (current maintainer)
pcl-cvs is one of two Emacs/CVS interfaces. The other is the
native VC (Version Control) interface built into Emacs. I prefer
pcl-cvs because it was written exclusively for CVS and, therefore, works
smoothly with the CVS way of doing things. VC, on the other hand, was
designed to work with several different back-end version control systems
– RCS and SCCS, as well as CVS – and is not really "tuned" for CVS.
For example, VC presents a file-based rather than a directory-based
interface to revision control.
The advantages of pcl-cvs are strong enough that many people choose to download and install it rather than use VC. Unfortunately, pcl-cvs has two disadvantages: It can be a bit tricky to install (much of this section is devoted to overcoming possible installation hurdles), and its recent releases are a bit unstable.
The latter problem is likely to be temporary, but it does raise the question of which version to use. Stefan Monnier has just recently taken over the pcl-cvs maintainership; the latest release, 2.9.6 (available from the first URL in the preceding list), was a bit bumpy when I tried it. No doubt the problems will be smoothed out soon, but in the meantime, you might want to use an older version. Because I've been using Version 1.05 daily for a long time now and it's performed quite well, I'm going to document that version here. Fortunately, the installation procedures don't change much from version to version. If you decide to use pcl-cvs, I suggest that you check Monnier's download site for a version newer than 2.9.6; if there is one, try it out before regressing all the way to 1.05.
You'll notice that two URLs are given for Version 1.05. The first is Per Cederqvist's site, where he still makes available an old archive of pcl-cvs. However, since I'm not sure how much longer his archive will stay around, I'm also making the 1.05 distribution available from ftp.red-bean.com.
Although the rest of these instructions use examples from a Version 1.05 distribution, they should apply to later versions as well.