Revision Control using Tortoise SVN

As I mentioned previously, now that I have decided that I really enjoy blogging and plan to stick with it, it's time that I start putting some work into my site. So how do I make (possibly) sweeping changes to my site without risking a misstep that will flush everything down the toilet?

Well the first thing that I need is some sort of Revision Control System. Revision/Version/Source Control software allows you to track all changes that you make to your files and to compare different versions and roll back to whatever version that you choose. It's particularly useful if you have multiple people working on a project as it usually has mechanisms in place that help you resolve changes made by different people and it keeps everyone on the same version of the project.

The concept is simple. Change a file, check it in. Change something else, check it in. Think you made a mistake, compare versions and roll back if need be. Roll out to test. Find a bug, fix it and check it in. Once the release is solid push it to production. If you find a bug in production you can pull the last release from source control and roll back to it.

Some common/popular open source solutions include Subversion, GIT, and CVS. I had previously heard good things about Tortoise SVN (a Subversion Client), which won the - 2007 Community Choice Award for Best Tool or Utility for Developers. It's a shell extension so integrates directly into windows explorer, which makes it very easy to use.

It took me about 15 minutes to create a repository and get a handle on the basic functionality. It was all fairly intuitive. Right clicking on files allows you to access a context sensitive menu. The "SVN Commit" command saves your changes. The "SVN Update" command pulls the latest version of a file or directory down. A sub menu provides more advanced features.

It would be nice to have it accessible from the Visual Studio IDE and I understand there is at least one Subversion Client that lets you do just that for a price, but I wanted something free and for the small scope of this and other projects that I'll be working on Tortoise SVN is more than enough. Also because it inserts itself into windows explorer it is not limited to software development but can be used on any files that you need to track versioning on.

P.S. I've added a post on how to rollback or revert a file using Tortoise SVN since many of you seemed to be looking for that info.


Post a Comment