||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: SCM, version control, open source software
Title: Subversion Version Control
Author: William Nagel
Publisher: Prentice Hall PTR
Verdict: Recommended for anyone evaluating or switching to Subversion
Once upon a time there was CVS for source control, and it was good. It was open source, it was powerful and it worked. But there were problems: no atomic commits, no database backend, directory versioning, networking issues… Subversion is designed to be a better CVS. This doesn't mean tweaking the CVS code-base, it's coded from scratch so that it implements CVS functions, but adds new and improved functionality. It too is open source, and while CVS is still popular, Subversion is growing in popularity all the time.
William Nagel's book is not an alternative manual - Subversion actually comes with some pretty good documentation. Instead the book combines tutorial information about the software with usage and best practice scenarios. So, not only do you learn about installing and using the software from a technical perspective, it also provides information about development processes and how Subversion should be used in that context.
While there's a certain amount of reference to CVS, the book actually assumes minimal knowledge of source control, CVS or Subversion. The opening section of the book is introductory, and covers background info, installation (on Linux, Mac OSX and Windows), and basic usage.
Part two goes into more detail from the client (end-user) view, showing how the command-line interface can be used to check code in and out, perform branch and merge operations, using properties etc. One chapter in this section looks at Subversion client software, including Subclipse for the Eclipse platform and TortoiseSVN for Windows.
Part three looks at the administrator side of things, with chapters on repository (database) organisation, administration and a chapter on automation (using hook scripts). These chapters are worth having but for hard-core administration it will probably need to be supported with reference to the Subversion manuals.
Part four looks at the process side of things, followed by part five which provides a command reference.
For the new Subversion user, or someone considering it for their organisation, this book provides a good introduction - it's readable, engaging and provides the reader with the information to get started on the right track.