CVS - baroque horror or sliced bread?
CVS is great for managing versions source code, machine configuration, documentation, web sites, and so on.
I've written up some brief notes about using CVS which might be of general interest.
These are split into three parts: server setup, client setup (Unix), client setup (Win32). These should probably be read in order to get an overview of what's going on.
I've got some patches to get cvs server working with the --allow-root option. These are against CVS 1.11 as it appears in the FreeBSD source tree; I think they're fairly stock.
These are collected into cvs.diff; change into the CVS distribution root directory and use patch < cvs.diff to apply.
I ran a local hands-on session here to introduce people to CVS. The preamble and the main course notes are online. This isn't a substitute for other documentation but was intended as a quick (under two hours including coffee break) introduction. If you're interested in duplicating the course I've a tarball of the module at the start of the session. (Feel free to use this - I'd like to hear from you with any suggestions about this if you do use it.)
Following up on the initial session I also gave a one-hour hands-on session covering the rudiments of branches in CVS. This utilised the repo that was left over from the first session.