2

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
3

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?

| 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 :( – James Sumners 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. – James Sumners Sep 24 '10 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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