Book review: Version Control by Example

A colleague of mine give me this book, as I use “third generation” VCSs. I decided to check on the author approach on Version Control and his opinion on the matter. The book explores the different approaches of the latest VCS tools, with their advantages and drawbacks. Also, it delves into some algorithmic designs of Distributed VCSs. I’ve already discussed some of these tools, but the book is not a flame war against one DVCS, but more an explanation of all of them.

Content and opinions

The focus on the book is how to use a Version Control system, so several chapters are dedicated to how to use the most well-known one – and the one the author develops.

The book is split in three parts: “old” VCSs, new VCSs and finally how they work. The first chapter is a glossary of the special VCS words and their meaning. Once this is done, the first example chapter starts with Subversion. A small situation is depicted with two coders that are locally closed.

The third chapter starts the second part and it introduces new concepts for distributed VCSs. A complete chapter is dedicated to the advantages of DVCSs, and it doesn’t fall in the common pitfalls (those are in fact a reason to some humor from the author). The next chapter does exactly the opposite, i.e. explains the drawbacks of a DVCS. Although I disagree on GUI part (there are wonderful GUIs for both Mercurial and GIT on Windows, and on Linux they have a great integration in Eclipse for instance), I do agree with the author on the main topics here. The next four chapters are the practical application seen in the second chapter applied to Mercurial, Git and Veracity (two chapter for this one, one to explain the differences with Mercurial and Git, and one for the scenario), the tool the author develops.

The last part can be called “how to use them”. Even for the second generation tools like SVN, I was flabbergasted to see that a lot of coders didn’t even know how to use it, and even worse, that experienced managers didn’t know how to implement an appropriate workflow. So I think that the first chapter in this part should be something that everyone HAS to read if one wants to be called a coder. Seriously. Then, as I’ve said, the author explains how the distributed tools work and some of their internals. It’s not for the average coder, but it’s really interesting – for the culture. The last chapter is a set of golden rules, and like the first chapter, it’s something mandatory to read and use.

Conclusion

One of the most easy-to-read introductory books and a book on a sensible subject, this book should be read by everyone searching for a robust tool to support one’s development. It is also a very good argumentation on why you should use one.

[amazon_enhanced asin=”0983507902″ /]

4 thoughts on “Book review: Version Control by Example

  1. Hi Matthieu,
    thanks for this review and making me aware of the book. May I suggest something for future book reviews, though? I think it would be nice to include at least the name of the author and a link to the website (in this case: http://www.ericsink.com/vcbe/ ) – in particular when the website allows you to browse or download the book for free (you can even get a free printed copy sent to you!).
    — Marcel

    1. Hi Marcel,

      You’re right, I forgot to mention the author’s website (especially since I got my electronic version there!). I’ll consider adding the author’s name in the future (should be in the Amazon widget, but it may be interesting to have it on the title or in some kind of subtitle!).

      Matt

  2. Whoops, in fact, I did not see the amazon widget (I was actually close to proposing an amazon link in my previous comment!) — adblock ate it 🙂 Disabled adblock for your blog now, should have thought about that before…

  3. Yes, that’s the issue with this widget. I had another one, “custom made”, but it didn’t support concurrently amazon.fr, amazon.com and the others. So I choose something more versatile although it can be blocked.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.