Thursday, July 08, 2004

Version Control with Subversion and TortoiseSVN

Been looking at version control systems for use with our CF development. After a lot of investigation, I decided to go with Subversion (SVN) for the server, and TortoiseSVN for the client.

These two nifty little tools are free (as in beer) and open source, and they're self-hosting : i.e. the source code and version control for Subversion is done with... Subversion. SVN is intended to be "a new version control system that is very similar to CVS, but fixes many things that are broken", and I'd say it does that job very well.

I've also found the documentation to be pretty good, which is something you don't always get with open-source projects. The TortoiseSVN docs in particular are excellent, I actually found myself looking through the TortoiseSVN docs for info about Subversion rather than the Subversion docs themselves! It's probably the fact that it runs as a Windows Explorer plug-in that makes it feel very intuitive and easy to get to grips with.

Mind you, that's not to say either of them are perfect. There's a few niggles and things that you have to work around - for instance, SVN doesn't support a way to show/export ONLY the files that have changed since a particular revision or date, and setting up an initial repository can be a bit confusing until you've figured out what's actually going on - but they're a damn good place to start. There's also a Subversion API for integration with custom programs and developing addons. I found the svnant package, which gives you a custom ANT task for use in automatic build files to be excellent.

At my last job we used StarTeam, which again took some getting used to, and was also good, but far from perfect -he lack of an explicit branching method was particularly frustrating. But StarTeam costs $699 for just the Standard version, and if you're looking for something free, open-source, widely used, well-documented and fairly easy to get to grips with, you'd have a hard time finding a better system than SVN.

I'll probably blog more details about my issues, solutions and workarounds here in future - stay tuned...


Anonymous said...

Now it is Feb. 2005 - are you still using Subversion? Are you still as enthusiastic as you were 6+ months ago?

I'm interested in CF-specific issues - if you encountered any - before recommending version control for my current shoppe.

What version of CF are you on?

Alistair Davidson said...

Hi Anonymous,

Yes, I'm still just as enthusiastic about Subversion as I was 6 months ago - more so, in fact, as I've become more comfortable with the software, and it's saved my derriere several times.

I haven't encountered any CF-specific issues with the app, and we've been using it pretty heavily on an ever-expanding list of sites. I'd say go for it ;)

Anonymous said...

Subversion rocks.