You are currently looking at an older section of the wincent.dev website.
Please check the new version of the site at https://wincent.dev/ for updated content.

wincent knowledge base

« Upgrading to Subversion 1.1.2 | Main | Information for beta testers »

April 09, 2005

Upgrading to Subversion 1.1.4

Subversion 1.1.4 came out a few days ago so I decided to take the opportunity to upgrade my existing installation and also update my existing BerkleyDB install to the latest release (4.3.27). Unlike earlier versions this Subversion release works fine with the BerkleyDB 4.3 series.

As per usual, these instructions assume that you have the Xcode Tools installed and they use wget to grab the source. If you don't have wget you could use curl, which is bundled with Mac OS X (type "man curl" in the terminal for more details). If you want to perform a new install of Subversion rather than just upgrade you should see the original article in which I performed the installation.

Because I'm updating the backend (the database) I had to do a dump of my repository, perform the upgrade and then import the dumps into a new repository as described here. For example, to dump my Synergy repository I used a bunch of commands like this (where ~/Developer/svnrep/ is the folder where I keep all my repositories):

# stop anything that might be accessing the repository
sudo /usr/local/apache2/bin/apachectl stop

# create a temporary working space for the dumps mkdir dumps && cd dumps
# perform the actual dump sudo svnadmin dump ~/Developer/svnrep/Synergy > \ Synergy.dump
# move the repository out of the way sudo mv ~/Developer/svnrep/Synergy \ ~/Developer/svnrep/Synergy.old

Once I had done that for all repositories I was free to continue:

# install BerkleyDB
wget http://downloads.sleepycat.com/db-4.3.27.tar.gz
tar zxvf db-4.3.27.tar.gz
cd db-4.3.27/build_unix/
../dist/configure
sudo make install

# grab and unpack the Subversion source wget http://subversion.tigris.org/tarballs/subversion-1.1.4.tar.gz tar xzvf subversion-1.1.4.tar.gz cd subversion-1.1.4
# remove old copies of libraries as per INSTALL sudo rm -f /usr/local/lib/libsvn* sudo rm -f /usr/local/lib/libapr* sudo rm -f /usr/local/lib/libexpat* sudo rm -f /usr/local/lib/libneon*
# build sh ./autogen.sh ./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.3 make sudo make install svn --version

Now I was ready to recreate my old repositories and insert the contents back in:

# go back to where you put the dumps
cd dumps

# create a new empty repository sudo svnadmin create ~/Developer/svnrep/Synergy sudo chown -R svn:svn ~/Developer/svnrep/Synergy
# restore its contents from the dump sudo svnadmin load ~/Developer/svnrep/Synergy < \ Synergy.dump sudo chown -R svn:svn ~/Developer/svnrep/Synergy
# enjoy the fruits of your labour sudo /usr/local/apache2/bin/apachectl start

And that's all for, until next time... (looks like we can expect a 1.2 release soon).

Posted by wincent at April 9, 2005 06:52 AM