Most of the things you'll do with CVS are covered in sufficient detail in this book. I do agree with the reviewer who mentioned this is not the perfect reference for some tasks - like merging branches. This book will, however, give you all the background information you'll need so that you can effectively research complex topics like this on the web. The title is appropriate - 'essential CVS.' It's not 'everything there is to know about CVS' - and that's a strength of the book. It makes it small enough that the average developer can read the 'quickstart,' and have a basic understanding of how things work. They can then use the more detailed chapters to gain further information. Only the CVS administrator will need a little more. Even for them, this book will be a handy reference.
For a general CVS admin reference, it seems OK, but I was too disappointed regarding branches. My quest for a great CVS book continues....
The target audience is both users and administrators of the system. Vesperman starts out with an explanation of what version management and source control systems are, and then goes into the usage of CVS for those different groups. And if you are thinking that CVS is just for managing code, think again. CVS can be used to manage any document types, such as code, documentation, images, etc.
If you're using Websphere Application Development Studio (WSAD), the CVS package has an interface built right in. You select that option during WSAD installation, and the right perspectives are added to your environment. You will still need to have a CVS server set up somewhere to manage the source files, and this book will be very helpful in aiding you during that process.
Since CVS is based on the Unix platform, all the examples in the book are set up to use command line interfaces to the functions. Vesperman uses plenty of scripts to show you how to accomplish all the functions, which is great. In my case, I'll be using WSAD to work with CVS as a developer, so many of those examples were wasted on me. Still, the concepts behind CVS and the general capabilities of the package are covered well, so a read-through on this book will benefit you either way.
For Notes/Domino developers, there is no interface you can use for this package. You could, if you wanted, check in your .NSF files and use CVS to manage the version control. You'd lose some of the benefits of CVS like file comparison, but it's still better than having no version control at all. There are non-CVS systems out there for Notes/Domino content management, and you would probably derive more benefit from those packages than trying to use CVS in this case.
Conclusion
If you are moving into the WSAD world for Java development, check out CVS for version management. If you do decide to go with CVS, get a copy of this book to supplement the official documentation. Recommended.
Pretty much all you need will be in here and it reads pretty easily. I don't think every cvs user will need this. But someone on a team of developers should have this around. And the cvs admin should definitely ahve this book.
I also find the book explaining almost all there is to know about CVS. This also makes it a good reference to have lying around.
I especially appreciate the author's discussion on tagging and branching strategies. She compares available branching strategies, talks about pros and cons of each in details to help you pick the one you see more fit.
She also provides tips and tricks, ranging from absurd (such as switching your sandbox by editing your CVS/Repository file) to intimidating (such as playing with the repositories directly). These tips will help you understand the system's internals, which hopefully will result in productivity (if not in disaster).
At first, I found her discussions a bit redundant - you can read the same point repeated several times on the same page or the same chapter over and over. Although it annoyed me to some extent, people not familiar with CVS may appreciate this feature of the book.
She assumes her audience to be familiar with UNIX systems. Although I'm fine with it (I live in Linux), others may not be. Most of the UNIX-related chat are found in her file-utility commands, as well as bash scripts, in addition to some user account/group management.
The organization and writing style of the book is far from ideal. CVS itself is a very exciting topic for software developers. The author of Essential CVS fails to reflect this in her discussions. Her discussions are close to manpage-style, with some detour onto tips and suggestions from time to time.
I believe ideal style for a book on CVS would be a scenario-driven style, which introduces a project, a problem related with managing it, and advances into the features of CVS one solution at a time. Realize, that is it different from cook-book style, which is a Question & Answer styled writing.
Good examples of scenario-driven styled writing are "Apache The Definitive Guide" by O'reilly, which builds a server with a tiny configuration file, and advances to more feature-ful implementation; "MySQL" book of New Riders, which introduces a conventional grade book and advances into more complex RDBMS implementation of it; "DNS and BIND" of O'reilly and etc.
I especially appreciate the author's discussion on tagging and branching strategies. She compares available branching strategies, talks about pros and cons of each in details to help you pick the one you see more fit.
She also provides tips and tricks, ranging from absurd (such as switching your sandbox by editing your CVS/Repository file) to intimidating (such as playing with the repositories directly). These tips will help you understand the system's internals, which hopefully will result in productivity (if not in disaster).
At first, I found her discussions a bit redundant - you can read the same point repeated several times on the same page or the same chapter over and over. Although it annoyed me to some extent, people not familiar with CVS may appreciate this feature of the book.
She assumes her audience to be familiar with UNIX systems. Although I'm fine with it (I live in Linux), others may not be. Most of the UNIX-related chat are found in her file-utility commands, as well as bash scripts, in addition to some user account/group management.
The organization and writing style of the book is far from ideal. CVS itself is a very exciting topic for software developers. The author of Essential CVS fails to reflect this in her discussions. Her discussions are close to manpage-style, with some detour onto tips and suggestions from time to time.
I believe ideal style for a book on CVS would be a scenario-driven style, which introduces a project, a problem related with managing it, and advances into the features of CVS one solution at a time. Realize, that is it different from cook-book style, which is a Question & Answer styled writing.
Good examples of scenario-driven styled writing are "Apache The Definitive Guide" by O'reilly, which builds a server with a tiny configuration file, and advances to more feature-ful implementation; "MySQL" book of New Riders, which introduces a conventional grade book and advances into more complex RDBMS implementation of it; "DNS and BIND" of O'reilly and etc.
Also, it talks about what graphic layers are available but it doesn't explain why one is better than another. Also, no mention of the fact that Cervisia is a stock component of Red Hat/KDE.
All in all it's not bad for a beginner, but what a book like this really should provide are more of the paradigms.