tags:

views:

1027

answers:

3

Hello,

Can somebody please point me in the right direction for migrating a Subversion 1.4 repository to Subversion 1.6 on a different server ? I'd appreciate any help I can get, I'm not having much luck googling this.

A: 

Make certain that you are treating that dump file as a binary file. It looks like a text file and you can get away with editing it in a number of ways... but it isn't just text. So if a newline conversion has occurred during the transfer or something you'd wind up with a mess.

retracile
+1  A: 

We did it in a slight different way: we created a new repository and used svnsync to create a mirror of the repository. This one should be used as read-only until the time you want to switch. Then add hooks to the old repository to forbid commits (ideally display and error message telling your users to relocate to the new repository). svnsync a last time and activate the new repository. This was much faster than dumping and more efficient as we could catch up and sync the latest changes to the old repos.

jdehaan
You can also do incremental dumps and loads.
retracile
This was less a pain for us, for e.g. one of our 1.4 repos had an on-disk space of > 32GB (compressed svn diff) you can then imagine the size of the dump! :-)
jdehaan
+4  A: 

First of all, I'm not 100% sure that you can move a dump file freely between Linux and Windows. You may have to convert line endings.

Next, you should try to first move the repository in 1.4 format, and then upgrade it in place. One way to do that, on the target machine:

svnadmin create --pre-1.5-compatible /path/to/repo
svnadmin load /path/to/repo <dumpfile
svnadmin upgrade /path/to/repo

See the SVN book for details of svnadmin.

Avi
That did the trick. Thank you kindly for your help, it's much appreciated.
Alex Marshall
The dump format is platform independent. So you can safely move the dump file between Linux and Windows.
Stefan
@Stefan: Thanks, I thought it was, but wasn't sure.
Avi