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.
It has been a few years since I’ve learned about DVCS (Distributed Version Control Software), and there are always some battles between the three main containders. The Centralized VCS war was won by Subversion, but the DVCS is far from over. I had the chance to use those three tools for work, free-time and open source projects. I do not claim that my time using them is enough to have a solid conclusion, but for me, there is a clear winner.
Thre is two ways of getting this book: the electronic one or the paper one. If you plan of using Mercurial, the paper may be better suited.
Mercurial (also called hg as the Mendeleiev symbol for mercurial) is one of the three DVCS (Distributed Version Control System) that are in the mood nowadays. Written in Python, its life started at the time as git’s when BitKepper was dumped as the Linux kernel’s VCS. Now it is a mature product, and the book tries to explain how to use it and also the differences with Git. Bazaar, the third DVCS, is not even mentionned, although it is also written in Python.
As I was looking for a book on Bazaar (a book I didn’t find yet), I ran accross this one on Git. I heard that to use correctly Git, one needed a tutorial, so I figured a pragmatic book would do the trick.