ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Software Configuration Management Patterns
Author:
Stephen P Berczuk with Brad Appleton
ISBN:
978-0201741179
Publisher:
Addison-Wesley Professional (2003)
Pages:
218pp
Price:
£
Reviewer:
Chris Oldwood
Subject:
Appeared in:
24-5

Reviewed: November 2012

I’ve been blessed in that right from the start of my professional career I’ve always had a Version Control System behind the codebase I’m working on. Naturally in the intervening years I’ve formed my own opinions about codelines and good SCM policies. So why buy a book? Mainly I was looking for a deeper understanding of the forces that drives the need to isolate and join codelines and also a dictionary to help ensure I understood the correct meanings of the terminology I appeared to be using.

This is a neat little book weighing in around 160 pages after you’ve ignored the aging appendices, so slips nicely on the shelf. Like many books of its era, it takes a patterns-style approach to describing the various concepts, but only after going through some background notes. The first 3 chapters are all about getting a fluid development process in place and putting some key terms into the right context. I suspect most of this is de rigueur these days but the books listed in the further reading sections are all sound recommendations that you probably already own.

The meat of the book is a language of patterns that are both specific to the SCM world, such as ‘Mainline’, and also tangential like ‘Unit Test’. The reason for this is that they are all part of the larger context which is the developer’s Workspace – the sandbox that we play in day-to-day. Hence ‘Private Workspace’ is introduced early on as the pattern language loosely follows the timeline of changes from sandbox, to branch, to build system. ‘Integration Build’ on the other hand tackles the post-commit side of the process.

There are seven patterns that directly relate to branches of various kinds, each of which has a different policy. Curiously ‘Codeline Policy’ – the meta-pattern if you like – doesn’t get documented until you’ve already met three of the concrete types. Then there are five patterns covering the build and test side which may seem out-of-place but really it’s about promoting practices that ensure commits are solid as you’re effectively publishing your changes at that point. This just leaves a couple of other miscellaneous SCM patterns to shore up the good practices, e.g. ‘Task Level Commit’.

Sadly the two appendices highlight how far this subject has moved on in the last 10 years because although some of the main URLs in Appendix A are still valid, the list of SCM tools in Appendix B is pretty hopeless. There isn’t even mention of Subversion (only CVS) let alone any of the more well-established Distributed VCSs like Git or Mercurial.

I came looking for a book that discussed branches and merging in a bit more detail than the bigger general-purpose development books cover – which I found