I use Subversion at home to keep my projects in order.
Subversion, being free, and lacking a marketing team, can be a real pain to get into -there are different versions of it out there, built by different groups etc…
The combination I’ve settled on so far is:
Server: I use the free VisualSVN server at www.visualsvn.com
VisualSVN server basically takes Subversion and turns it into a nicely packaged windows service and MMC management plug in. It takes 2 minutes to install, 1 minute to configure.
Client: For the client, I use 2 pieces: TortoiseSVN (http://tortoisesvn.tigris.org/) Tortoise adds shell integration to windows to support subversion – what this means is that any folder on your system can be added to version control. There are a few commands that took some getting used to, but overall a very nice experience.
Visual Studio integration: the VisualSVN folks make a nice Visual Studio add on, but unfortunately they charge money for it – a lot of money – $50. Now $50 isn’t bad if you’re just buying one copy, but one of the benefits of knowing and using open source free software is that moment at work when you give your boss a nice alternative to sourcesafe that won’t cost the company a penny. That whole sales pitch goes out the window if they need to buy 50 copies of an add in for $50 a piece. So I use AnkhSVN. (http://ankhsvn.open.collab.net/) When I started with it, it was a bit rough going, the official release didn’t work for me, but the latest nightly build at the time did. I’m sure by now the current release works just fine, but if you have problems, don’t give up, try a nightly build.
If all the nice gui stuff isn’t for you, Coding horror has a nice article on setting up basic subversion server usng text commands: