I have a SVN server with 6 (lets call them repo1-repo6) repos using version 1.6.9. Five of the repos are served using svnserve -d and one is mod_dav_svn (httpd).

1) I did a full dump of each repo on the old server and then did svnadmin create repo1 repo2 repo3 repo4 repo5 repo6 on the new server

2) then i did cat repo1.dump |svnadmin load repo1 to restore the full dumps to the new server. The new server is running svn 1.6.11.

3) Lastly I will do svnadmin dump --incremental -r 1000:2000 repo1 > repo1.incremental_dump on the old server and cat repo1.incremental_dump |svnadmin load repo1 on the new server for each repo where revision 1000 is the first revision created since I performed the full dump and 2000 is the youngest revision.

4)I plan on switching the IP in the DNS host record for the SVN server to point to the new server IP.

Is this a solid SVN migration plan?

  • I'd probably start with svn2git.. and retire SVN like the tired old racehorse that it is. – Tom O'Connor Apr 24 '13 at 18:34
  • I came from a Git shop, but unfortunately I don't think I am going to convince these old school engineers to switch, so I'm stuck learning SVN. – user160910 Apr 24 '13 at 18:48
  • I once spent a very happy month or so migrating and training a company on the migration from CVS to BZR. – Tom O'Connor Apr 24 '13 at 18:52

It's mainly OK. You skipped some (obvious, I hope, for you) things

  • Configure Apache on new host
  • Run snvserver with probably changed root

And I'll recommend, just for getting more predictable results, perform first load with --force-uuid: this way new repos must to get the same UUUID, as source and svn-clients will not complaint about UUID mismatch

| improve this answer | |
  • Thanks, I already configured Apache and copied the conf files from the old system. The root is the same for svnserve, everything is at /subversion (is that what you meant?) – user160910 Apr 24 '13 at 18:51
  • and don't forget to turn off the old services before the dump. You might find the -r 1000:HEAD syntax helpful. I would check the TTL of the DNS entries for the server as well. No SSL on the apache instance I take it? – vinnyjames Apr 24 '13 at 21:01
  • You also might want to do an end-to-end test of an existing sandbox migrating to the new server with svn switch --relocate svnbook.red-bean.com/en/1.6/svn.ref.svn.c.switch.html – vinnyjames Apr 24 '13 at 21:07

Your Answer

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