0

We have about 5 different SVN repositories running on SVN 1.6.11 on top of CentOS Linux 6.3. I was asked to migrate our SVN server to a new server last week. We have a cron job that does a Full backup of each repo once a week, and every other night we do an incremental backup via: svnadmin dump -r 100-200 --incremental repo |gzip -9 > incremental_100_200.svn.gz (where repo is the name of the repo and 100 is the oldest revision since the last backup and 200 is the youngest revision at the time of this backup)

I did a full restore of the last full backup to the new server, creating an almost up to date copy of the repos. Throughout the week, I planned to restore the incremental backups from the old server to the new to keep them in sync and then switch to the new server on Friday.

Unfortunately, I must have missed an incremental restore on a few repos, and somehow not notice, and then we switched to the new server, and people continued to add files and make modifications, adding new revisions to the repo. The problem is, since there were some revisions missing on a few repos, now the new revisions have taken those revision numbers, so I cannot just get the incremental from the old repo and load it into the new repo since there is other data now occupying those revisions. What do I do?

GL2014
  • 4,646
  • 2
  • 13
  • 20

1 Answers1

0

Convert both repositories to Git repositories, import them into the same project, use git rebase to move the new changes on top of the old changes, then push the repositories back from Git to SVN. It is entirely possible (likely?) that there will be merge conflicts during the rebase that you will need to manually fix.

Dietrich Epp
  • 182,361
  • 34
  • 307
  • 387