Upgrading Subversion 1.5.x to 1.6.0 on Windows Vista - checklist

The following is how I went about performing an upgrade of Subversion 1.5.4 to Subversion 1.6.0.

For this I'll be continuing to use the current Windows build of Apache 2.2.x, TortoiseSVN, and of course Subversion. At this time, that's Subversion 1.6.0, TortoiseSVN 1.6.0, and Apache 2.2.11.

  1. Determine current setup.
    1. Opening the Apache Service Monitor will show the version of Apache and Subversion. In my case, that's 2.2.10 and 1.5.4, respectively.
    2. Opening TortoiseSVN's menu and selecting About will display the current version. In my case that's 1.5.8.
  2. Confirm that all applications will work with the new versions of the other applications.
    1. Simply check each application's site. In this case, they all appear to work fine with each other.
  3. Download all installers.
      1. Win32 Binary including OpenSSL 0.9.8i (MSI Installer)
      1. Win32 binaries for Apache 2.2.x
    1. TortoiseSVN: http://tortoisesvn.tigris.org/ or http://tortoisesvn.net/ (you'll end up at the latter anyways)
      1. 32 Bit
  4. Backup Apache configuration.
    1. You can find the httpd.conf file in the conf directory, in the install directory.
      1. Example: c:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
  5. Stop Apache.
    1. Open the Apache Service Monitor, select the Apache2.2 service, and press the Stop button.
  6. Uninstall Apache.
    1. Unfortunately, the installer for a higher version can't seem to run with Apache already installed. So, we have to uninstall it first.
  7. Install Apache.
    1. localhost is your friend. If you're installing along-side IIS, keep it at the 'All Users, on Port 80, as a Service' as we'll change this later.
    2. Typical install is fine, at the default location, but feel free to change as needed.
  8. Verify Apache settings.
    1. My install ran fine, with no configuration settings lost. However, if your httpd.conf is changed, you'll want to do a compare of your backup copy, with the new version.
      1. TortoiseMerge or WinMerge are two excellent applications that will help with this.
    2. Remember to stop the Apache service if you need to make changes.
    3. For this guide, I assume you're running at localhost on port 8080.
    4. The Apache Service Monitor should also display the current version, when the service is selected.
  9. Backup Subversion repositories.
    1. I do this in two ways.
      1. First, I backup all repository directories. In my case, I have all my repos in b:\repos\. I simply make a copy of this directory.
      2. Next, I do a dump of all repositories. This basically means I run the following command: svnadmin dump StrivingLife > ..\repos_dump\StrivingLife.dump
        1. dir > list.txt will give me a listing of all repos, which, after a bit of deleting and pasting, ends up with a usable batch file. Add PAUSE to allow yourself some time to read over the results.
  10. Stop Apache (if it's running).
  11. Extract the zip contents to your Subversion application directory.
    1. Backup the old version of those files, if you so choose.
    2. I installed to C:\Program Files\Subversion\
  12. Copy necessary files from Subversion directory to Apache.
    1. In the Subversion bin directory, copy mod_authz_svn.so and mod_dav_svn.so to the Apache modules directory.
    2. In the Subversion bin directory, copy intl3_svn.dll and libsvn_fs-1.dll (or libdb44.dll for Berkeley DB support) to the Apache bin directory.
    3. If you need to make Apache changes (you haven't installed Subversion before), see my Installing Subversion binaries for Apache 2.2.x, otherwise you should be set.
  13. Start Apache.
  14. Confirm SVN version in Apache Services Monitor.
    1. You may need to Exit and restart the monitor application to see the change.
  15. Uninstall TortoiseSVN and restart your computer.
  16. Install TortoiseSVN and restart your computer.
    1. Sigh.
    2. The third window has changed, but otherwise see Installing TortoiseSVN to Windows Vista for specifics.
  17. Do a test checkout, or browse some repositories.
  18. Checkout a working copy of a repository. We've got TortoiseSVN, so let's use it.
  19. You can also use the Repository Browser to take a look at some repos.
  20. You can also use your browser to browse the repos via the Apache component. Lots of options.
  21. Use svnadmin verify repoName to use Subversion to verify revisions.
  22. Consider upgrading your repositories.
    1. svnadmin upgrade repoName is the shortcut to upgrade your repository, to get access to any new features.
      1. You'll want to be careful your tools can interact with the new repository version. In our case, we're fine doing so.
      2. Taking the batch file we created to dump all our repositories, and tweaking it slightly, will enable us to upgrade all our repos as well.
    2. Dumping and loading is another way, which keeps things a little cleaner.
  23. Celebrate, because you've successfully upgraded.

Questions/comments/concerns are always appreciated. 

This original piece of content was written from 7:40 PM (CT) to 9:45 PM (CT), on March 23 2009.