svn-squareTFS or SubVersion? TFS or SubVersion? which to choose, I love them both.

The answer my friend really depends on your requirements and your team size.

If you are a team of ‘one’then the answer is simple. SubVersion.

But, if you are a team of dozens and all you need is robust source control then the answer is still simple. SubVersion.

However, if you are a team any size and you need source control, automated builds, issue tracking… the whole application lifecycle, then without a doubt I would recommend TFS and in particular TFS 2010.

But TFS is not what this article is about. it’s about SubVersion

I was doing some housekeeping today and decided it was time to get my Source Control house in order. Although I already had all my code under source control I wanted to make it available to my clients as well so enter SubVersion…with the keyword here being free and opensource.

I have used SubVersion many, many times in the past and have always been a big fan, especially when working against a remote repository across the internet. It works a treat.

TFS also works a treat across the internet but if any of you have every tried doing that with VSS (the option no one recommends anymore and with bloody good reason) then forget it. It will not work. No exceptions. VSS is complete and utter garbage for use by remote teams.

Anyway, I digress.

SubVersion comes in many flavours and runs on just about every OS known to man (or woman). My flavour is Windows of course. Not that there is anything wrong with Unix or Linux just that Windows is the coat I wear and I am sticking to it.

To get yourself up and running real fast on Windows I recommend looking no further than VisualSVN over here. This will get you going with the Server side of things. Best of all, it’s FREE!

These guys provide an excellent product that wraps up all the installation of SubVersion for you when installing on Windows and makes it O so easy. They even provide (free) an application for managing your SVN Server and access control.

Visual SVN Server

Now, to access the server your will need TortoiseSVN, which you can get over here. Again, this is free and easy to install.

That is all you really need to get up and running and get your code under source control.

However, if you are a developer that works inside Visual Studio like me then you will want to get the VisualSVN Client for Visual Studio over here.

This provides integration with Visual Studio 2005/2008 and 2010 and makes it very easy to work with your projects against the SVN repository right from inside Visual Studio. No need to go playing around with TortoiseSVN anymore (but you will still need to install TortoiseSVN).

Visual SVN Client

This will cost you $49 per client but that is a small price to pay for good Source Control.

I hope this post has helped anyone out there that is looking for robust source control and wants to get away from the pains of VSS.

As I said at the start of the article I would still recommend TFS for the enterprise but if you are like me and recognize the absolute importance of good source control and have a budget that you need to stick to then it’s Subversion and VisualSVN all the way.