After being forced to re-install a Apache hosted Subversion service I decided to use Visual SVN Server and found the process of migrating from a existing multi-repository Apache Subversion service to be quite straight forward. I did learn a few things along the way that I wanted to share.
Why I Had to do it. (a.k.a Whoops!)
I did a dumb thing. I attempted to upgrade the version of our own existing Apache Subversion service in the middle of the day. You likely know how the rest goes, terribly. I Backed up all the files I was going to touch and dropped in the new .dlls in the right places and viola upgrade! right?. Not so much. The server didn’t start. So I reverted to my backups and the server still didn’t start. Oh noes!!!111one. Apache puked and people started to complain that they couldn’t commit.
The repositories were backed up and intact so I was not worried about losing data just getting the service back up. I had wanted to move to Visual SVN Server since they announced so now I had my chance.
The installer was quite easy to use and defaults to installing a secure self-signed Apache hosted Subversion web server. There is a wonderful MMC Snap-in that you use to manage the installation. Don’t worry. You can figure it out. They made it easy.
User and Groups Migration
We had pre-existing groups and users files in our repository root folder. All I had to do was rename the group file to authz and the user file to htpasswd. Unfortunately the hash used in the htpasswd file was different than our previous one so our users had to reset their passwords. This was only a minor pain.
We have a SSL certificate we use to secure our Subversion server. To get our pre-existing SSL certificate to be used by Visual SVN Server I had to combine our .key and .cer files into one file called server.pem found in C:\Program Files\VisualSVN Server\conf
Hosting Custom Web Content
Your Visual SVN Server has a nice front end to your repository that authenticates and allows users to navigate source code. It is easy to customize the look and feel of this code browser by editing the images or css that is in your Visual SVN Server configuration directory. Found in: C:\Program Files\VisualSVN Server\htdocs
We have a post commit hook which generates an RSS with details about each commit. This feed file needs to be served up by the web server. Easy, just copy the file somewhere under the htdocs directory and all is good.
Speaking of Hooks
The management snap-in has a nice UI for editing your SVN hooks batch file: Repository –> All Tasks -> Manage Hooks.
My hat is off to he Visual SVN team for giving the community this excellent free tool for setting up and managing a Subversion server. Thank You.
I am sure their strategy in this is to grow a community of users who will pay for their excellent Visual SVN tool. I’ve been a user of Visual SVN for many years and have nothing bad to say about it. It just makes using Subversion flow naturally. They keep it up-to-date, and they keep adding features What else do you need? Apparently, you’ll need 49$ for a license but I tell you it is very much worth it.