Wednesday, December 23, 2015

Move SVN repository from one server to anther

http://www.petefreitag.com/item/665.cfm

Step 1: Backup your old Repository
The first thing you need when moving from one server to another is a dump of your subversion repository. Hopefully you are already creating dump's with a backup script, but if not here's how you can create a subversion dump file:

svnadmin dump /path/to/repository > repo_name.svn_dump

The dump file contains all the revisions you have ever made to your svn repository, so it will probably be quite large (it even includes files you may have deleted in a previous revision).

Step 2: Create the new Repository Now, simply transfer the dump file on to your new subversion server, and create an empty repository:

svnadmin create /path/to/repository

Step 3: Import your old repository into the new one Next import your dump file:

svnadmin load /path/to/repository < repo_name.svn_dump

You may want to force subversion to use the same UUID for the new repository as the old repository. To do this add --force-uuid to your svnadmin load command. In my case I wanted to do this. If you have already loaded your repository, there is a way to set the UUID at a later date, check the docs. That's it, you now have a replica of your old repository on your new server.


HOW TO RELOCATE YOUR LOCAL COPY:
$ svn switch --relocate svn+ssh://username1@server1/home/username1/repos/file svn+ssh://username2@server2/home/username2/repos/file