[![ankhsvn](http://kdmurray.net/wp-content/uploads/2009/05/ankhsvn11.gif “ankhsvn”)](http://kdmurray.net/wp-content/uploads/2009/05/ankhsvn11.gif)Source control is one of those things that developers get really polarized about.Â Most agree that having source control on projects is a necessity, but that’s typically were the similarities end.Â Some folks are of the mind that every line of code, however insignificant, [should be under source control](http://stackoverflow.com/questions/132520/good-excuses-not-to-use-version-control).Â This provides records of what was written, and a reference for things that were done in the past.Â Others believe that source control should be reserved for “real” projects, things that are deliverables for customers, or products to be released to real-world environments.Â I really don’t want to get into this debate tonight, so I’m going to stick to the technology.
I was wanting to get some source control in place for a few of my personal projects.Â I chose to go with Subversion for my source control server for a few reasons, not the least of which was that my hosting company supports auto-configuration of SVN repositories, so I was able to get that set up in just a couple of minutes.Â That left me some time to contemplate how I would access the repository from the client.
[![newproject_svn](http://kdmurray.net/wp-content/uploads/2009/05/newproject_svn1-300×218.png “newproject_svn”)](http://kdmurray.net/wp-content/uploads/2009/05/newproject_svn11.png)I’m running Visual Studio 2008 on my development machine and this gives me the ability to use plugins for the IDE, a feature that is sadly [missing from the express editions](http://blogs.msdn.com/danielfe/archive/2007/05/31/visual-studio-express-and-testdriven-net.aspx).Â There were a couple of good options available for SVN plugins, [VisualSVN](http://www.visualsvn.com/) which is the 800lb gorilla in this space, and the open-source option [CollabNet’s AnkhSVN](http://ankhsvn.open.collab.net/).Â Given the fact that this was for personal exploration of the toolset, the open source (free) option was the obvious choice.
The setup for AnkhSVN was quick and painless, and when the IDE opened up it put options for source control right in the menus where they were nice and easy to find.Â I created a project, and selected the “add to Subversion” checkbox, entered the necessary credentials and created the project in my SVN repository.
[![anhksvn](http://kdmurray.net/wp-content/uploads/2009/05/anhksvn1-300×106.png “anhksvn”)](http://kdmurray.net/wp-content/uploads/2009/05/anhksvn11.png)When in Visual Studio, the AnkhSVN controls are located on a tab at the bottom of the IDE, alongside other solution-wide functionality like the To-do list, output window etc.Â This pane tracks all of the changes (adds, deletes and updates) that you’ve made to the solution files.Â This is extra handy as a review when you’re ready to make your commits back to the repository.Â By quickly scanning the list of changes you’re able to write solid commit comments to provide some decent documentation for you, or those who come after you.
I’m still relatively new to Subversion and AnkhSVN, but I’m looking forward to exploring them in more detail — maybe I’ll even do a podcast episode about it!