JavaScript appears to be disabled. We recommend you enable JavaScript while visiting this site.

(All original content on this site is licensed under the Creative Commons License Attribution-Noncommercial-No Derivative Works 3.0.)

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.

(All original content on this site is licensed under the Creative Commons License Attribution-Noncommercial-No Derivative Works 3.0.)

Subversion 1.5.3 and TortoiseSVN 1.5.4 released

The newest versions of Subversion and TortoiseSVN were released just last week.

My install guides for Subversion on Vista (and another with Subversion on Vista with Apache 2.2.x) and TortoiseSVN on Vista are still applicable.

If installing Subversion with Apache 2.2.x, make sure you stop Apache before replacing files.

(All original content on this site is licensed under the Creative Commons License Attribution-Noncommercial-No Derivative Works 3.0.)

Installing Subversion binaries for Apache 2.2.x

Recently I went ahead and installed Apache 2.2.9 to my Windows Vista Ultimate machine. The purpose of doing that was to move towards a Subversion install running on Apache.

In this article, I'll be covering that installation.

Getting Subversion

Obviously, the first thing to do is to get Subversion.

We're looking for the Windows Apache 2.2.x binaries, in particular. At the time of this writing, that's svn-win32-1.5.1.zip.

In a previous guide, which you may have followed, I installed the Windows installer with the basic win32 binaries. If you did this, you'll want to uninstall Subversion first.

Once you've downloaded the zip, extract the contents.

Installing the binaries

The README included in the zip basically covers what you need to do.

Determine where you want to install Subversion. I decided to keep it in the Program Files directory, so I created a new Subversion folder at C:\Program Files\Subversion.

Next, move the four directories and file, from the zip, to this directory.

Now go to Start and right click on Computer, selecting Properties. Go to the Advanced tab and press the Environment Variables... button. At the end of the Path system variable, add the location of the Subversion bin directory. For example, C:\Program Files\Subversion\bin . Press OK all the way out.

You should be able to open a command line and type svnadmin -? and get a meaningful bunch of commands.

In a new instance of Windows Explorer, navigate to the modules directory in the Apache install directory. For example, c:\Program Files\Apache Software Foundation\Apache2.2\modules.

Copy mod_authz_svn.so and mod_dav_svn.so from your Subversion install's bin directory into the Apache modules directory.

Still in the Subversion bin directory, copy the intl3_svn.dll and libsvn_fs-1.dll files into the Apache bin directory.

If you want to use Berkeley DB, grab the libdb44.dll (or libdb*.dll) instead of the latter.

Next open the httpd.conf file (we covered how to do this before) and uncomment the following two lines (remove the #):

#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

Now add these two after the existing LoadModule lines (you may want to add a comment noting why you've added these):

LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so

Now go to the bottom of the httpd.conf file and add the following information:

<Location /svn/repos>
     DAV svn
     SVNListParentPath on
     SVNParentPath Drive:\path\to\repos
</Location> 

For example:

<Location /svn/repos>
     DAV svn
     SVNListParentPath on
     SVNParentPath B:\repos
</Location>

Restart Apache via the Apache Service Monitor.

If you get any errors, check your error logs (logs directory in the Apache install directory).

Windows event logs (Administrative Tools > Event Viewer or eventvwr from the command line) may also have relevant error information.

Once Apache starts, browse to http://localhost:8080/svn/repos/ (assuming you used that port and directory), and you should see a listing of your repositories.

You can now browse the current versions of the files under Subversion.

TortoiseSVN

While you're at it, you may want to install or update TortoiseSVN.

I already covered how to install Subversion on Vista, and the steps still apply.

Upgrading existing repositories

If you've already installed Subversion, and have been working with it, you may need to upgrade your existing repositories.

You can do this via the command line by running svnadmin upgrade \path\to\repository , however, you should ensure that you have a backup before you do this. Also, you'll be unable to use tools that cannot access the 1.5 repos.