Like I said in an earlier post I’m currently working on a side project with a couple former coworkers that I hope with become a success. This project has turned my dining room table into an ad hoc office several evening each week and caused the need to setup a development infrastructure to support the project with the backbone of that being the source control repository. I decided to use Subversion for the source control repository for the initial reason that it was free, but also because it seems to be fairly highly regarded in the community. I’ve used both Visual SourceSafe 6.0 and 2005 in the past and whereas I’ve never had any direct complaints with VSS it did always seem to be a bit of a task getting things setup initially when starting a project.
Subversion is working fairly well for us. Because we cannot always get together to work on the project I have http access setup and my partners can very easily sync their source code over the Internet. Subversion integrates nicely with Apache web server to do this. Let me point out though that I have all this running on Windows, not Linux. There are Windows versions of both Subversion and Apache. For the client side of things we are using both TortoiseSVN and AnkhSvn. TortoiseSVN integrates directly into Explorer and is handy for setting up new projects and handling the tasks at the file system level. AnkhSvn is an add-on to Visual Studio that integrates Subversion tasks into the right-click menu of Solution Explorer.
Anyways my goal in this post is to help direct anyone who is Googling trying to setup Subversion get going in the right direct. Ralph Willgos put together a great article on Code Project walking through the steps of getting everything setup so I will not bother rewriting them. It is a little old and I skipped the steps of setting up IIS and Visual Studio 2003, but the rest of the steps apply. I will caution you on a couple things. First make sure you are using the 2.0.x version of Apache, not 2.2.x and not 1.x. From my understanding and experience Subversion will only work with the 2.0.x version. The other thing I will caution you on is to not use the download links that Ralph provides. They have become out of date as newer versions have been released. I ran into very cryptic error messages when I had different versions of Subversion and TortoiseSVN trying to talk to each other and this caused several headaches. To get the files simply go to the links that I have provided and grab the latest versions.
That’s about it. Feel free to drop me a line if you get stuck with Subversion and I will try to help you out. Also, I’d like to read what everyone else has to say about source control in general and what they think about specific products so feel free to post a comment with your experiences. I’m also running a continuous integration server for our project, but I will go into that in a later post.