During the last few days I’ve been looking into version control systems for use with my projects at work as well as at home. In the past I have used Microsofts Visual Sourcesafe in combination with Homesite. This works fine, create a project in Homesite, link VSS as the Source Control software and Homesite shows you what’s checked in, what’s checked out and the world is a happy place. This works because Visual Sourcesafe has an interface called SCC. Homesite supports SSC, but unfortunately not a lot of other versioning systems have an SCC interface.
Ofcourse, VSS costs money, and lately there have been more than a few open source competitors gaining momentum. Looking into them I found that version control seems to be focused on linux more than on windows. Cool new systems like Bazaar, Mercurial and Git have little or no support for windows. I know my friend Tjarko over at Carlos Gallupa uses Subversion, but that needs apache, and I really feel uncomfortable installing a complete webserver for the sole purpose of hosting a repository.
Bazaar and Mercurial look promising, because they are Distributed VCS’s instead of regular VCS’s like SourceSafe or Subversion. Branching is much easier in DVCS software. For an excellent explanation of the differences, look here. I’m really leaning towards Bazaar or Mercurial for that reason, especially at work, it would be nice to create branches and revisions on-the-fly.
The biggest problem is the lack of windows clients for both systems, let alone integration into Homesite. Oh well, probably I’m a little ahead of the game again. Maybe I should just try subversion and try mercurial or bazaar when the tools for windows appear… Or I could use Homesite under WINE and use a linux GUI :)
In the end I decided on Subversion at work, as we can work with a central repository there. There is a pretty painless server setup for subversion called Visual SVN server. It includes a Windows MMC tool for managing your repositories and the apache server is included and installed automagically.
On the client side I found there is an SCC plugin available for subversion. So using it from Homesite and later on from Visual Studio should not be a problem.
At home I decided to go the bazaar route. I think programmers should really not care about using the command line, I’m figuring it out as I go along. In a next post I’ll give you my findings and some pointers on using bazaar under windows.