Comparitive analysis of available version control systems

We had a decision to make about which version control system to switch to. We were using CVS and were not happy with it (the project grew too big for CVS to keep us sain). So we decided to do a quick analysis of what options do we have. We looked at Mercurial, Git, SVN and Bazaar. We were using Eclipse for Java development along with Cruise Control for Continuous Integration and JIRA for bug tracking  so compatibility with those tools was a big consideration also.

You can view the comparison spreadsheet here

Conclusion Git was not an option because of its bad support on Windows and Mac OS. Bazaar does not fit because of its small market share. I think that Mercurial was the best choice for us because

  • We are going to do massive refactorings to extract modules which implymoving and renaming files, and Mercurial’s ability to track renames and moveswill make merging easier
  • We can continue working when internet connection is broken or very slow.
  • We can query repository using hg grep or web interface
  • Collaboration between developers is easier with Mercurial, developers can publish changes with local web server and ask for peer review and great integration into ‘review board’ (which we use for code reviews) through the ‘postreview’ extension.
  • Branching is very easy, any developer can create a branch, experiment and then team lead can decide if the changes should be accepted and go into the central repository.

The only advantage of Subversion over Mercurial is its well established tools and integration support. Although, Mercurial is improving very fast and its current tools support is acceptable. The latest version of Mercurial Eclipse plugin is quite good.

About these ads

3 thoughts on “Comparitive analysis of available version control systems

  1. It should be noted that git has EXCELLENT support on OS X, including lots of graphical front ends. Even in the Windows environment with the maturity of TortoiseGit, git is easily the equal of other SCM systems.

    It seems like at the time your biggest complaint was the integration with Eclipse, and I’ll grant you that it was not mature at that time. However, the world has changed dramatically since then, so I’m not sure why you’re re-tweeting this entry as if it were the truth today.

  2. I don’t even understand how I stopped up here, but I assumed this post was great. I do not understand who you might be but definitely you’re going to a famous blogger in the event you aren’t already. Cheers!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s