Choosing A Version Control System

Aristotle Pagaltzis has a detailed account of why he chose git has his version control system. My interest in version control systems have improved from being just a dumb user to trying to use it to better the software development process. I have tried some systems, but it was difficult to move away from Subversion because it was easy to set CruiseControl, a Continuous Integration tool, with it.

However, I have started trying out Git recently. I tried out of curiosity to see if Git really managed the changes better. One thing I realized was that Git did make merging and branching really convenient, they were usually considered to be in the domain of administrators and not the developers. As Aristotle illustrates, it is really easy to do the changes without having to spend a lot of time planning what to checkin when. Overall I got a feeling that using Git really helped my productivity.

The main reason for hesitation in using Git is that it is not supported very well on Windows, not surprisingly, since its purpose of creation was to handle Linux kernel projects. I develop mainly using Linux, but there might be others on Windows who I work with. The other reason is to develop a build process that uses Git.

I see the advantages of distributed VCS, in fact that is the reason the other VCS I tried was Bazaar. However it cannot be denied that Git performs quite well, especially when running diffs in the repository trees. It has been a joy to use Git, but I will continue to explore the space for some more time.

Discussion [Participate or Link]

  1. Raseel said:

    You should check out this hilarious talk by Linus on using Git at the Googleplex :

  2. adam said:

    I like Tortoise CVS for Windows. I think deliberating for too long on such a trivial thing is absurd.

    Adam @ TalkPHP.com – PHP Community

  3. Ron said:

    Are you Adam S ?


  4. Ian Clatworthy said:


    If it’s been a while since you last tried Bazaar, you might want to have another look now that 1.0 is out. Performance is now really fast as our benchmarks (http://bazaar-vcs.org/Benchmarks) across 33 open source projects show. Space efficiency also rocks now – see http://bazaar-vcs.org/Benchmarks/SpaceEfficiency.

    I agree that CI is really important. We use PQM (https://edge.launchpad.net/pqm) for this which is less mature but arguably a better development approach that CruiseControl. With PQM, code is never merged to the controlled branches (e.g. trunk) unless all tests pass. That in turn means code quality is higher all around as no-one is accidentally checking out broken code.

    You might also be interested in our somewhat biased page comparing Bazaar with Git: http://bazaar-vcs.org/BzrVsGit.

  5. Abhijit Nadgouda said:

    Ian, thanks for the update. It is true that I haven’t checked Bazaar since I have started git, I guess it is time to relook at it. Thanks for the link to PQM, it will be great if it works out.

Say your thought!

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.



Abhijit Nadgouda
iface Consulting
+91 9819820312
My bookmarks


This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.