CVS Pocket Reference
The Scenario
As a former CVS repository administrator, I wish I had this book when I started, it's much easier than pawing through the canonical documentation for quick answers. CVS is the #1 choice for open source projects. If you plan on organizing or working on an Open Source project, this is reference might be for you.
What's Good?This pocket reference is a guide to basic CVS functions (branch, merge, update) but the real strength is in the description of server and client side control files and environment variables. Gregor describes how to setup email notification when someone commits a change to the repository, how to customize the repository to treat certain files as binary (versus text), and other useful things. He even goes as far as to describe how to hack the repository to change it's structure while the project is in motion, and how to hack the sandbox (the name for a developer's work space) to change any property such as which branch or repository the files will be committed to. Of course you don't really need this because developers never make mistakes, it's always CVS' fault <wink wink>. All in all, it's a great reference for all the bits and pieces of CVS that you're supposed to mess with (and a few your aren't) and anyone who is expected to administer a moderately complex installation should own it.
Gregor also gives pointers to some great add-on modules for CVS: CVSWeb for making your source tree web-browsable, and WinCVS to make CVS look SourceSafe-esque.
What's Bad?The organization of this pocket reference could use a little help. I've seen reviews for other O'Reilly pocket references ask for an index, but that wouldn't be helpful here. It would be helpful if they added section tabs in the outside margins of the pages (a la their java nutshell series), so that you could quickly thumb to the section you're looking for. Also, organizing the content by server side and client side instead of simply adminstrator and user would help folks to find the specific information they are looking for.
My last gripe is a small, petty one. The books binding doesn't allow it lay flat when you set it down. Yes it's petty, but I hate losing my page when working. You need to keep a medium sized object with a decent bit of heft (e.g. a stapler) within arms' reach to hold it open.
So What's In It For Me?This reference will not make you a CVS guru, but it will help you remember the command line options (if I had a nickel for every time I typed 'cvs --help tag' I would be frequently mistaken for a Kennedy), figure out what all those little files are without breaking your CVS installation, and most importantly keep you from having to consult the the cannonical documentation for simple things.
If you have inheirited a CVS installation or plan to set one up for the first time, spend the US$9.95/CN$14.95, do it right the first time and save yourself some time and reap all the bennies that CVS offers.
Table of Contents- Introduction
- Installing CVS
- Administrator Reference
- User Reference
- Relata
You can purchase this book at ThinkGeek.
Actually, CVS clients send the entire file contents when committing. It is only updates that send a diff. This is because the CVS metadata doesn't store what your copy looked like before you changed it. Wait for Subversion(M2 expected RSN (1 April 2001)), for a system that will send diffs both directions, as well as a whole lot more.
>~~~~~~~~~~~~~~~~
>~~~~~~~~~~~~~~~~
Pilchie
You can also get a PDF-formatted CVS quick ref card at http://www.refcards.com/
On the plus side, the PVCS Gnomes are still hard at work, damaging about one file in every 5000 checkouts. Since we have a 2100 file build at the moment, that's one in three builds getting trashed by this worthless system. We hope this is enough ammo to have PVCS shot, drawn and quartered, and sent to the Eastern front.
We've been considering both Visual Source Safe (which we've had good luck with, but find it feature-poor) and CVS. I'd love any feedback anyone has comparing the two on a fairly large project, particularily where we have two sets of developers working off-site through slow IP links.
John
John
You can find a good part of the Open Source Development With CVS book by Karl Fogel online at http://www.red-bean.com/cvsbook/cvsbook.html
It's a very easy to read CVS book that begins with the basic steps of creating a repository and goes all the way to cover a lot of advanced aspects about using CVS on a daily basis.