[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Moving a subtree to a different repository

From: Gavin Lambert <gavinl_at_compacsort.com>
Date: 2006-09-15 02:12:22 CEST

Quoth Erik Hemdal <mailto:erik@comprehensivepower.com>:
> One of my users committed a number of files to the trunk of
> our repository.
>
> svn://server/OriginalProjectRepo/trunk/DirectoryWithFilesInIt
>
> Now we've decided that we want to move this directory and all
> its contents to a different repository, which already exists,
>
> svn://server/DifferentProjectRepo/trunk/DirectoryWithFilesInIt
>
> I'd like to do this in a way that preserves the history of
> changes made. I know I can export the current revision from
> OriginalProjectRepo and then check files into
> DifferentProjectRepo, but this would naturally break the
> history of the files.
>
> I've read the Subversion Book, as well as William Nagel's
> book, to try to apply svndumpfilter to the problem. I can
> see methods for combining repositories and splitting
> repositories into _new_ ones. But I don't see how to move
> files between repositories that are already established.
>
> Is there a way to do this, or am I stuck? I suspect that I
> _am_ stuck, but I wanted to ask in case there's a way to do
> this and save history.

IIRC, 'svnadmin load' supports adding the contents of a dumpfile to an
existing repository, so you *should* be able to dump your current
repository, and use svndumpfilter to get a dump file containing just the
files you want to move over. (If you want to expunge them from the
source repository as well, then you'll need to make a second dump that
excludes those files, but loading this one in *will* break any working
copies pointing at the source repository, and everybody will need to get
a fresh checkout. [Loading additional revisions into the repository
usually won't break anything, but deleting revisions definitely will.])

For reasons of paranoia, shut down the servers accessing the target
repository while you're doing that, and make sure you have plenty of
backups beforehand, just in case.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Sep 15 02:12:58 2006

This is an archived mail posted to the Subversion Users mailing list.