Until a couple of years ago, I used VSS for source code version control. VSS is not a very capable or reliable product, but the licensing cost for Team Foundation Server prevented me from switching to Microsoft’s newer technology.
Then I switched to Subversion, using VisualSVN for Visual Studio integration. At only $49 for each client, and the standard edition server component at no cost, this has proved to be a really good improvement over VSS. We have been very happy with Subversion.
In the past year or so, there has been a lot of hubbub about Distributed Version Control Systems. Armed with a basic understanding of the unique “distributed” nature of these systems, I could see the value for large team environments, but I had a hard time appreciating the increased value offered to the smaller corporate or community team.
I learned enough to know that there were two main players out there – Git and Mercurial. They both have developed great reputations, but for development scenarios that I’m likely to be involved in, Mercurial seems like the better choice. The main reason is that it’s simpler to use. Version control can be complex to manage, and only works as well as the lowest common denominator in your team’s understanding of the version control product workflow and behavior.
So, if you’re trying to decide what Source Control System to use, consider giving Mercurial a try. Here are the main resources you’ll want to check out:
- http://hginit.com – a brilliant Mercurial tutorial
- http://mercurial.selenic.com – Download Mercurial
- http://www.bitbucket.org/ – Mercurial hosting
- http://tortoisehg.bitbucket.org/ – Windows shell extension
- http://visualhg.codeplex.com/ – Visual Studio integration
Let me know your experience if you decide to try out Mercurial.