[Svnmerge] Preserving merge history when moving servers?

Steinar Bang sb at dod.no
Sun Jul 11 22:19:19 PDT 2010


>>>>> Bob Sandiford <bob.sandiford at sirsidynix.com>:

> Second try - sorry for any duplication...
> The short answer is, 'yes'.

> I just migrated our repositories to a new server, for some of which we
> had been using svnmerge against multiple branches.

> Read the documentation on the 'svnadmin' binary, which will allow you
> to dump your repo, and also allow you to reload it.

Ah, ok.  Dumping and restoring would switch all references to the
original host with the new one?

> You can also force the old server repo's UUID into the migrated ones,
> so that existing checked out code on workstations will 'think' it's
> the same code.

Right now the repo has been rsync'd over to the new host, not dumped and
restored.  That would preserve the UUID wouldn't it?

> (We also did a bit of dns magic so that the old svn server name
> resolves to the new server - when staff came in after the migration,
> they needed to re-authenticate with their first svn commands, but then
> everything 'just worked'.)

Yes, thought of that.  Unfortunately I'd used the real name for the host
in the URL.  The new host will get a DNS alias instead.

> Anyway - if you use the svnadmin to dump and load the repos, then all
> the structure of the repo is preserved, as are the svn properties of
> the various 'root' folders (i.e. the trunk, branches, etc), which is
> where svnmerge places the merge tracking info.  That info does not
> contain any server info - just info relative to the repository itself.

Right.

> For example, in our trunk:

> svn proplist . -v

Ah, that was shorter than svn proplist followed by a propget with the
property name (lots of typing). :-)

> will show you all the svn properties and their values for the root
> folder.  The svnmerge tracking will look something like this:

> svnmerge-integrated
> /<project_name>/branches/<branch_name>:1-12992,13248

> all relative to the repository (we have multiple projects in a single
> repository - you may have just a single project, so you might just see
> "/branches/<branch_name>:xxxx"

Thanx for the info!  Really clarifying! :-)



- Steinar



More information about the Svnmerge mailing list