A revision control system is an essential tool allows many software developers to work together on a single project without impacting each other's work. To use a revision control system, a programmer normally checks out the project from a repository, make some changes, test those changes and then check the modified files back into the repository. If you happen to change the same file as one of your co-workers, the revision control system will let you know and give you an opportunity to merge your's and your co-workers changes together. A revision control system also tracks changes to your projects over time. If something goes wrong, it's fairly easy to revert to a previous revision and determine what went wrong.

There are a number of revision control systems available. Three of the most common are CVS, Subversion and Microsoft Visual Source Safe. I'm a pretty big Subversion fan. Latitude currently uses Microsoft's Visual Source Safe and I must say that it integrates seamlessly with Visual Studio and in most circumstances, is pretty easy to use, but it is not without its difficulties. For many reasons, Subversion is a much better choice. A one-click installer is available from here. There are also add-ins for Visual Studio to integrate Subversion with its IDE. Visual SVN is one that I've tried out briefly and it looks promising. Before joining Latitude, I used TortoiseSVN from Windows Explorer and it worked fine. For those like us, who have an existing Visual Source Safe repository, there is a migration tool that will import Visual Source Safe into Subversion, maintaining its change history in the process. Check out vss2svn for more details.

I expect we'll be looking at Subversion in more detail over the coming weeks. Stay tuned and I'll let you know how it goes.