- Take an Extra 30% Off Any Book: Use promo code HOLIDAY30 at checkout to get an extra 30% off any book for a limited time. Excludes Kindle eBooks and Audible Audiobooks. Restrictions apply. Learn more.
The best available compromise is the concurrent versioning system (CVS), which introduces proctored code merging into source code management. CVS is ideally suited for worldwide open-source development, and the world is ready for monographs that address the management issues that Per Cederqvist explicitly avoided in his fine 164-page postscript manual distributed with the CVS tar-ball. What is the role of a maintainer/manager in establishing test protocols for code merges? What minimal functional level of developer communications is necessary for merges to remain stable? Is a maintainer-less release possible?
These questions go largely unanswered in Karl Fogel's new Open Source Development with CVS. Fogel's 300-page book consists of chapters alternating between CVS basics and common code maintenance issues. He includes a few anecdotes from open-source lore and lots of nonspecific commonsense guidelines on team software development.
Fogel is at his best when he is engaging us in thinking about what should and should not be under CVS control. He points out that complex relationships exist between developing code and its dependencies on intimately related applications, such as build tools themselves (gcc, autoconf) or partner applications (e.g., the server's client or the client's server). His brief discussion of strategies is too short to be satisfying.
Frustratingly, this book is chock-full of postmodern self-indulgences, such as his boasting reverence for technological ignorance. The discipline needed by good maintainers is missing here; Fogel's informal prose is often grating, and his copious parenthetical remarks are distracting or bullying (they sure are); one wonders where his editor was. Ultimately, his management arguments boil down to an endorsement for the benevolent dictatorship model--a safe conclusion, but one that seems not to use CVS's merging capability for all it's worth. To the question of how to run a project, he responds, "Well, we're all still trying to figure that out, actually." True, and he isn't there yet, but at least he has the questions right. --Peter Leopold
This book is definitely a must have for all CVS users. Highly recommended.Published on August 3, 2006 by A. Vemula
The author made a deadly mistake. He said "cvs update -j branch" will not work for multiple times merge and use "cvs update -j change_tag_2 -j change_tag_1" instead. Read morePublished on May 29, 2005 by Fei Li
The book looks to be well written with lots of details, but I feel the first few introductory pages are insufficiently detailed which prevented me from setting things up. Read morePublished on November 15, 2003 by Benjamin Slade
I've used cvs for a couple of years, but have never really needed tagging or branching until I became a developer on the [...] project. Then, we needed it. Read morePublished on October 29, 2003 by Perry Tew
I cannot over-emphasize how useful this book was to me while setting up my cvs repository on Linux. All the examples were germane and were correct, and the gotcha-s were... Read morePublished on April 3, 2003 by Allen R. Marshall
This "Open Source Development with CVS" is a straightforward book, with emphasis on how to use the open-resource Concurrent Versions System (or CVS). Read morePublished on March 16, 2003 by reviewer
I was looking a good guide and reference for CVS, so I decided to pick up this book. Overall, I think this book does a good job of going through most of CVS's features, however I... Read morePublished on October 17, 2002 by A. Valentine
This book was a real disappointment. I doesn't cover all the features of CVS and lacks detailed examples. I've found better (and free) documentation on the web. Read morePublished on July 24, 2002 by J. West
Open Source Development with CVS Karl Fogel
Here is a chatty discussion of CVS and how to use it. Read more