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
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?