Subversion is a modern free software Revision Control System (RCS) that the Subversion community’s developers have designed from the bottom up to be more efficient in form than CVS. Subversion has a structured architecture and has other notable advantages such as the ability to function efficiently with binary files and the relatively low cost of tagging and branching. Yet thankfully, Subversion still manages to maintain a workflow similar to CVS, thus potentially simplifying the learning curve. The book Practical Subversion (Second Edition), written by Daniel Berlin and Garrett Rooney and published by Apress, describes installation, maintenance, API, and migration to Subversion from other revision systems in straightforward understandable chunks.
My first impression of the Subversion book was that it was not an overly thick book. However, I soon discovered that the book does its job to plan. By the end, you should have read enough to understand Subversion to the necessary level. Further, with a little practice and the book by your side you should be able to install, migrate and maintain Subversion.
With a little practice and the book by your side you should be able to install, maintain and migrate
The contents
Daniel Berlin and Garrett Rooney’s book numbers around 300 pages of diverse and relevant content. Starting with an introduction and crash course in the basics of Subversion, through to repository management and best practices, the book gets directly to an efficient and viable point.
In terms of enabling easy access chapter 5 on the subject of Advanced Apache Integration and the use of WEBDAV was thought provoking. I enjoyed installing my first Subversion repository and then dragging, and dropping files through the Apache module methodology. Being able to easily view and commit the source code through the web is a major selling point.
As a developer, I found chapter 8 the use of the Subversion APIs interesting, but I’m sorry to say I never got around to actually prototyping.
The most useful section for me was contained within Chapter 4 migrating from other Version Control Systems. The university department I work for has CVS installed. The content spans perhaps fifty projects. No doubt, in the near future we will need to migrate. Therefore, understanding that the migration helper tool Cvs2svn
exists is both helpful and reassuring and will, with no doubt, make the task of selling the migration to management significantly easier.
Who’s this book for?
This book is for those of you that are thinking of migrating from CVS to subversion or wish to dive straight into installing a new version control system based on the best of free software breed.
Further, the chapters on the Subversion API and integrating with other tools may be of interest for those developers who wish to build extra services on top of Subversion
Relevance to free software
Version control is vital to the smooth running of any project apart from the smallest homegrown. For the majority of free software projects, where developers may be spread out over different continents, the lack of a Revision Control System implies almost instant failure.
Subversion and CVS integrate well with IDE’s such as Eclipse and offer a natural workflow that allows for relatively easy teamwork.
Pros
Like many books that I have read from the Apress stable Practical Subversion does its intended job well, explaining how to setup and maintain the given software fluently. Therefore, if you are looking for a streetwise book for everyday installation or maintenance you will find that Practical Subversion hits the target repeatedly.
Cons
You have to search hard to find a negative comment to write on this excellent book. However, if forced then I would state under duress that I missed reading one chapter on how Revision Control Systems fit within the development infrastructure of an organizations.
Title | Practical Subversion, Second Edition |
Author | Daniel Berlin,Garrett Rooney |
Publisher | Apress |
ISBN | 1590597532 |
Year | 2006 |
Pages | 304 |
CD included | No |
FS Oriented | 10 |
Over all score | 8 |