Subversion Sucks

Until now I have been using Subversion for my source code management. To avoid using the command line tools I also used VisualSVN and TortoiseSVN which provide an easier user interface for usage with Visual Studio and the Windows Explorer respectively.

After using this setup for some time I have decided that it sucks. I often wait a couple of weeks before checking in my latest batch of changes (yes, I know I should probably do this every day). You can bet that checking in will give some weird problem with an error message that is almost useful but not quite. Then you spend what feels like forever trying to work out the reason. And every time it turns out to be something different.

This is before mentioning the vast annoyance that is the overlay icons. The idea of the TortoiseSVN shell extension is that you get nice add/remove/unchanged style icon overlays when looking at your files. So you can easily see what has changed. Do they work? Not really. Most of the time they are correct but sometimes they are just plain wrong. I don’t like looking at the icons and knowing they might be lying to me.

So I’ve dumped Subversion. I know that some of you are going to point out you have used it with success for several years and the problem is the operator. You’re quite right but I am still dumping it and trying out something different.

Mercurial for Windows

The latest fad in source code control is the use of distributed systems such as Git, Mercurial and Bazaar. So I’ve jumped on the bandwagon and opted to give Mercurial a chance. The download at TortoiseHG comes with Mercurial and the TortoiseHG shell extensions in a single installer. I only started using it a few days ago but so far it has been very simple and easy to use. Even the icon overlays have been correct so far.

To get started yourself read this online introduction and download from here.

6 Responses to “Mercurial for Windows”

  1. Stefan Koell Says:

    Interesting move, Phil. I suspect you are an MSDN subscriber – and even if you don’t – you should take a look at Team Foundation Server 2010. It was very expensive in the past but now you get it for free for any professional MSDN subscription or higher and if you don’t have MSDN, it sells for 500$ (compared for multiple 1000$ in the past).

    I’m also still using SVN and I totally agree with you, it sucks! I have the very same problems as you have using SVN and I cannot wait to install TFS 2010. Right now it’s RC but in a couple of weeks it will be final and I am looking forward for perfect Visual Studio integration.

    One more thing mentionable is, that TFS 2010 doesn’t need any sharepoint and reporting stuff anymore and the express setup is literally “Next, Next, Finish”

    Just a thought.

    P.S. I’m not working for MS ;-)

  2. Tom Spink Says:

    Personally, I’m a heavy Git user. I absolutely love the freedom that comes with Git, and the workflows involved. It’s very difficult to do something wrong in Git.

    Then again, I am a hardcore Linux Kernel developer – so my tastes may not be the same as other people’s.

  3. vesuvius Says:

    I have also just about had anough of subversion and eagerly await Team Foundation Server Basic

  4. Phil Wright Says:

    I have to admit that the cost of using TFS put me off looking at it.

    And I also got the impression it was a seriously big system aimed at the large enterprise environment. Something like Mercurial (or the others) can be used in a simple way as single developer and then you can become more sophisticated in its use if needs be.

  5. Justin Says:

    Also check out Perforce (www.Perforce.com). For up to 2 users it’s free, and it’s got many benefits over SVN, which I completely agree, sucks.

  6. Ismael Says:

    Mercurial has better tooling for Windows than Git. You should give it a try to VisualHG (VS add-in) and, probably, some online hosting services like bitbucket.org or codebasehq.com

    PS: Though TFS2010 it’s a nice improvement over TFS2008, after a few months using both Git and Mercurial, i think distributed systems is the way to go.

Leave a Reply