tags:

views:

6485

answers:

5

Hello

We need to upgrade our SVN from version 1.4.4 to version 1.6

I thought we could use command line: svnadmin upgrade

But it does not exist in our version.

SVN is running on a Windows Server environment

We are running SVN Server version: svnadmin, version 1.4.4 (r25188) compiled Jun 8 2007, 18:49:42

A: 

svn 1.6 comes with svnadmin command.

EFraim
A: 

The svnadmin command is part of the SVN server package. Be sure you are running the server version of the package (you don't need to run svnadmin on your local client/working copy).

If you installed a bundled/packaged version, be sure it's the full release.

Simone Carletti
We are running SVN Server on Windows 2003 Server.How would I check if it is a bundled/packaged version?
Lucifer
A: 

Do you have the server version installed or the client version? If you have the server version, I suppose you tried SVN 1.4.4.'s svnadmin instead of SVN 1.6's. (Check this using svnadmin --version.)

Also, svnadmin upgrade is just a shorthand for dumping your repository, creating a new one, and loading the dump. As a shorthand, it is likely to not to create as optimized a repository as the dump/load procedure.

sbi
svnadming upgrade is not the same operation as a dump/load. E.g. svnadmin upgrade for 1.5 -> 1.6 enables svn 1.6 "representation sharing" for future revisions, but will not yield space savings for existing revisions. A dump/load will.
Wim Coenen
We are running SVN Server version: svnadmin, version 1.4.4 (r25188) compiled Jun 8 2007, 18:49:42
Lucifer
+14  A: 

What kind of server are you using? If you're running apache(http://) or svnserve(svn://), just replace all the svn binaries with the 1.6.3 versions of the binaries (knee jerk nag - backup your repository first, keep the old binaries around). Don't forget to upgrade the apache modules if you're using apache.

If you're not using a server, but running against the files directy (c:\), just update your clients to use 1.6.3.

At this point, your new 1.6 server is serving out the 1.4 repository. To upgrade the repository structure and gain full access to the new features, use the svnadmin upgrade command that comes with the 1.6 binaries. Run this command on a machine that has access to the physical files of the repository and give it the physical location of the repository root (c:\myrepository).

You may get a more optimised repository structure if you dump out the contents with svnadmin dump, create new blank repository, svnadmin load the old dump. Read the release notes for 1.5 & 1.6 and the output of "svnadmin help upgrade" to find out why.

Your clients can upgrade separately, when they're ready. A 1.6 service can talk to a 1.4, 1.5 or 1.6 client, and a 1.6 client can talk to a 1.4 server, so it doesn't matter if you upgrade the clients first.

Unlike the repository, the working copies on your machines are upgraded as soon as a new client sees them. This means you will have trouble mixing clients of different versions on the same machine, so for example, if you use tortoisesvn and ankh svn - you'll need to update both clients to the 1.6 version at the same time. If you get working copy version errors, this will be why. It won't go away until you stop using the old clients.

As with all things subversion, the redbook is essential.

Jim T
Thanks Jim T - I shall give it a go.
Lucifer
In thought I just had to run "svnadmin upgrade" and it would upgrade the software and the repository.
Lucifer
I now have the new 1.6.2 running along side the 1.4.4This wasn't quite what I was expecting.
Lucifer
Just out of interest, are you running visual svn server?
Jim T
We are using CollabNet Subversion Server. My plan is to load a dump from 1.4.4 into 1.6.2.
Lucifer
+1  A: 

We followed Jim T recommendation and it worked well. We had only one problem with commit:

svn: Commit failed (details follow): svn: Can't open file /db/txn-current-lock': Permission denied

We solved by changing the permissions of files within the db folder.