Review of Essential CVS by Jennifer Vesperman

We have all been there; you know you don't like a section so you change it, remove it, or move it somewhere else. After you are through making changes the project is worse now than before you started making changes. Now all you want to do is undo all your changes back to some point prior to the last revision and start again. CVS, Concurrent Versions System, is a tool that will allow you to do this by maintaining a linear history of a project. CVS can be used on one computer or a network of computers, by teams of writers or programmers working together or separately. CVS will allow each to maintain the desired level of document history they require.

Essential CVS by Jennifer Vesperman is the reference manual and tutorial that many users may wish accompanied CVS. Essential CVS provides a great deal of material that any individual whose livelihood or hobby involves evolving written material will make use of on a regular basis. CVS will work with text files, documents written with word processors, spreadsheet files and binary files. The user needs to remember that CVS handles binary files differently from text files and that some word processor and spreadsheet files are saved in a format that may appear to CVS, to be a binary format.

Ms. Vesperman provides a nice discussion of the many features of CVS and how to use each of them. Along with the discussion of CVS's various functions are many examples of how to use the CVS command set. I found Ms. Vesperman's use of examples one of the two features that I particularly liked in this manual. Although I did not try every example she provided, the examples I did try worked, the first time. There was no going back to see what I had done that was different or trying to figure out what was different between her system and mine. The examples simply worked as indicated in the text. This, for me, made understanding how to use CVS easier. The other feature that I liked was the detailed instruction on how to install CVS and set up both the CVS server and user sandboxes. Installing CVS on most modern Linux and BSD systems is straightforward; if one can install the operating system they can install CVS. It is the next step, configuring new software tools, which often causes users the many problems.

Essential CVS is divided into five sections: Introduction, Using CVS, CVS Administration, Reference and Appendixes. Each section covers material that the its title indicates will be covered. Each section is further subdivided into chapters which makes it easier for the user to find the information they need. The sections titled Reference and Appendixes are sections that the reader may be able to skip and still be able to set up and work with their CVS server. Depending on the reader's needs they may also be able to skip the section CVS Administration. If the reader decides to skip CVS Administration they will want to read this section at a later date to gain additional understanding of how to administer their CVS server. The Essential CVS also includes, inside the back cover, a tear-out quick reference card to help the user jog their memory when working with CVS.

Concurrent Version System is a software tool that any individual who uses a computer to produce evolving written material should have installed on their system. And Jennifer Vesperman's Essential CVS is the reference manual that these users should consider having shelved at arm's reach. With this one reference, these users will have the help they need to solve most of the problems they will encounter with maintaining the lineage of their document and coding projects.

—Alvah Humphrey 10-February-2004