I have just inherited a Subversion server that is a mess. I want to migrate to a new server with a saner file system layout. I figured a svnadmin dump and then svnadmin load for each repository would be sufficient. However, I have learned the repositories make use of svn externals, and mostly absolute externals. Is it possible to move repositories with externals to a new server?

My current configuration:

svn+ssh://subversion.example.com/var/svn/repoA
svn+ssh://subversion.example.com/var/svn/repoB
...
svn+ssh://subversion.example.com/var/svn/repoAA

The configuration I want to move to:

svn+ssh://vcs.example.com/var/repos/internalDepartmentA/repoA
svn+ssh://vcs.example.com/var/repos/internalDepartmentA/repoB
...
svn+ssh://vcs.example.com/var/repos/internalDepartmentB/repoA
svn+ssh://vcs.example.com/var/repos/internalDepartmentB/repoB
...
svn+ssh://vcs.example.com/var/repos/internalDepartmentC/repoA
svn+ssh://vcs.example.com/var/repos/internalDepartmentC/repoB
link|improve this question

80% accept rate
feedback

1 Answer

up vote 1 down vote accepted

Disclaimer: I've never tried this.

Externals are just properties, and I'm pretty sure those are dumped as plain text. Could you try passing your dump file through a perl(or whatever you're comfortable with) script to modify the properties to the new url?

link|improve this answer
worth a shot. If it fails you just get to write a perl script that finds all the externals properties in the tree and does all the substitutions. Then commit them. – pjz Aug 7 '10 at 3:09
I was hoping for an easier way, but this looks to be the only option :( – jsumners Aug 9 '10 at 13:53
Just a note, I ended up not doing this at all. Turns out you have to modify checksums when the dump file is being created. It just wasn't worth the effort. – jsumners Sep 24 '10 at 18:12
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.