2007-09-26

Upgraded from Subversion 1.4.4 to 1.4.5

Not a hitch. Amazing.

Here were my steps:

  1. Download and extract the latest binary with bindings that matches your Apache version: (svn-win32-1.4.5.zip) for me.
  2. Stop the Apache Windows Service.
  3. Stop the Subversion Windows Service (svnserve).
  4. Copy the contents of each sub folder from the extracted zip file (svn-win32-1.4.5.zip) over the location of the corresponding sub folder of your SVN installation location.
  5. ** See UPDATE below for a step I originally missed
  6. Restart the svnserve Windows Service.
  7. Restart the Apache Windows Service.
  8. Test.
  9. If you use TSVN, upgrade it too.
Viola!

**
[UPDATED: 2007-09-28]

Be sure to copy the following from your Subversion bin folder (C:\Program Files\Subversion\bin) to the Apache modules folder (C:\Program Files\Apache Software Foundation\Apache2.2\modules):

libdb44.dll
mod_dav_svn.so
mod_authz_svn.so

If you don't, and you view your respositories via a browser using Apache, you'll see the wrong version in the footer.

[SideNote]
I couldn't remember what the Apache Windows Service was named. Here is some handy command line goodness:
C:\>sc query type= service | grep -i apache
SERVICE_NAME: Apache2
DISPLAY_NAME: Apache2

Subversion Rocks!

I have been using Subversion for about 4 months and it has been proven to be very useful in my daily development workflow. I can't imagine developing without source code control again. I have been using Subversion (SVN) locally in combination with TortoiseSVN (TSVN) for my development projects and recently implemented it within my employer's environment. We still have not forced the other developers to use SVN but hopefully that will come in time. My company is not in the software business, we are a manufacturing company and that is probably why there never was a SCC/SCM environment in place before. We do produce a ton of software for internal use and for use by external third parties (customers and suppliers). We have a ton of custom code, databases, scripts, etc. that should all be stored in source code repositories. Again, hopefully soon, as in ASAP.

I had only used Visual Source Safe in the past and was never a fan. I know it can get the job done but we always had performance issues when using it over the wire (VPN). I will say that SourceOffsite from SourceGear was a great solution to the network performance issue.

I have implemented SVN and TSVN on Windows XP locally and SVN in my employer's Windows environment on Windows Server 2003. I have implemented hook scripts for pre and post commit events using BATCH and Perl scripts. On a related note, I am working a quick prototype of hook scripts written in C#. I also implemented an automated backup system using some Perl scripts that I obtained from the Pragmatic Version Control using Subversion as a starting point.

I connect to my company via a VPN connection and the network performance of Subversion is awesome.

I use the CLI (command line interface: svn.exe) mostly but find that TSVN comes in handy too.

I wanted to link to a few resources that I found helpful along the way:

  1. Of course "The Book" (Version Control with Subversion)
  2. The Subverision Site: http://subversion.tigris.org/
  3. Subversion Mail Lists and archives
  4. Pragmatic Version Control using Subversion
  5. Practical Subversion
  6. Subversion Version Control: Using the Subversion Version Control System in Development Projects (Nagel)
  7. I found a few blog entries by Ariejan de Vroom on topics like resolving conflicts, patches, etc. He offers a great SVN cheat sheet. Looking forward to more of his posts on SVN.
  8. You can also ask questions on IRC at irc://irc.freenode.net/%23svn
  9. Google Group: Subversion SVN
  10. Article on The Code Project by Ralph Willgoss: "Setting up an ASP.NET website development environment using Visual Studio .NET, Subversion, and Windows XP"
  11. Article on The Code Project; by Chris McGlothen: "Subversion & TortoiseSVN: Installed and started on Windows 2003 server and local machines"