Book Review: Pragmatic Version Control – Subversion 1.3

Once again the pragmatic book series has scored a home run. Pragmatic Version Control is part 1 in a 3 part starter kit on pragmatic programming. It is 11 chapters long and has several appendices that give more detailed information not on using subversion, but administering and programming with it. The other two books cover in the series unit testing and project automation.

I have been using version control with Subversion (SVN) for about a year, so the first 5 chapters were just review, but there are sections that do expand on some of the basics. For beginners, the material is well laid out and should really help people avoid some of the pitfalls they will run into when starting with version control. The book is also written in a way that makes technical information easy to digest, understand, and retain. Typically the book will give a problem, show how subversion’s philosophy solves it, and then give a concrete example that the reader can quickly follow along with.

The really good stuff for me started in chapter 6 and ended in chapter 11. More specifically, section 6.4 on subversion properties like svn:externals, svn:autoprop, and svn:ignore. This will really help me make the most of the subversion system.

The next chapter (7) covers file locking and binary files. I didn’t really understand why this was an issue until they give an example of a CAD file or an Excel sheet that can never be merged but may be worked on by multiple people. I’m glad I know this and it will definitely come into play with our graphics designers and documentation systems (where we have to use Microsoft Word docs).

Chapter 8 covers organizing the repository, and I pretty much skipped this chapter. I’ve always used the typical trunk, tags, and branches layout, but I didn’t really know HOW to maximize the use of the branches and tags directory.

That is when I got to chapter 9, which is all about using tags and branches. After reading this chapter, I have a clear cut methodology for working with branches, tags, and how to use them quickly and effectively. If nothing else, this chapter alone makes the book work the purchase. Many projects get bogged down in an inconsistent mainline, and branch cycle and it causes a lot of confusion among team members (and even yourself when you go back to a project after some time). Having a clear cut way to work with branches and tags is vital, and this chapter also covers some of the more subtle gotchas you’re likely to run into.

All in all, yet another great book from the Pragmatic Programmers, and I’m looking forward to my delivery of the third book in the series – Pragmatic Automation.

This entry was posted in Book Reviews and tagged , , . Bookmark the permalink.

Leave a Reply