| Title: | Essential CVS |
| Authors: | Jennifer Vesperman |
| Publisher: | O'Reilly |
| Pages: | 336 pages |
| Reviewer: | Jay Strauss |
| Synopsis: | |
| Table of Contents | 1. What is CVS? ; 2. CVS Quickstart Guide ; 3. Basic User of CVS ; 4. Tagging and Branching ; 5. Multiple Users ; 6. Repository Management ; 7. Project Management ; 8. Remote Repositories ; 9. Troubleshooting ; 10. Command Reference ; 11. Miscellaneous Topics Reference ; A. Clients and Operating Systems ; B. Administrator's Tools |
I should preface this review with, I'm just starting programming project with another person, and we are working on different hosts, as opposed to ssh-ing to a common host. Up until now we've just been trying to stay out of each other's way with regard to editing the same file. I knew this was a very short-term solution (at best) and I'd need some sort of version control system. Consequentially, I was highly motivated to read, absorb, and appreciate this book.
The fact that I found this book, basically, unreadable (although I've now read most of it twice), makes it that much more disappointing. The first chapter starts out predictably enough with a: what is, common uses, and benefits of CVS and version control in general. The following chapter, Quick Start, was useful in getting one up and running with CVS. As a Debian user, I was pleasantly surprised that a section specific to Debian was included. That is as far as my good feelings for this book went. After the second chapter this book was a real snoozer. Maybe I've become spoiled by the Perl books and many How-Tos, which are often funny, and filled with example code and useful suggestions. Those aspects were conspicuous by their absence in "Essential CVS". I liken this book to reading an appendix with countless forward references, minutia, but no real overall form.
The book is broken into 2 halves: using CVS and administrating CVS. Very missing was a section on project organization. For example, if one is building a website, or client server app, or batch processing systems, how might one structure their CVS repository. Also missing is how one might build patch files for installed applications. Also missing is how one would use their CVS in a production environment. For example, if one is using CVS for a web application, does the production sight checkout a version into its sandbox, or does a developer checkout into their own sandbox and copy only those needed files to the production locations?
I couldn't figure out who was this book's audience. If it was for beginners, it missed its mark. It would need much more in the way of best practices, common project organizations, and better examples. If it's for the experienced CVS user or administrator I think it would be hard to use as a reference.
Lastly, I don't think there was anything in this book that isn't readily available in How-Tos and more improtantly the Cederqvist.
