0

I am consolidating several SVN repositories into one using the method described here: Combining multiple SVN repositories into one

eg.

  • svnadmin dump /repo > repo.dmp
  • svnadmin load --parent-dir /imported/repo /newrepo < repo.dmp

I then use svn rename to move the trunk of the imported repo into a more appropriate location in my composite repository

eg.

svn rename /imported/repo/Trunk /Trunk/somefolder

However if i merge from an imported branch into the new location I get a tree conflict because what used to be the trunk has been moved.

eg.

svn merge /imported/repo/Branches/a-branch /Trunk/somefolder

Is there a better way to import/move/merge repositories that avoids getting a tree conflict here?

Community
  • 1
  • 1
undefined
  • 33,537
  • 22
  • 129
  • 198
  • 2
    You might want to try using the `--ignore-ancestry` option when merging. Is the tree conflict really due to relocating the trunk? What if you try to merge the branch before relocating the trunk? – RjOllos Mar 01 '16 at 05:49
  • See http://stackoverflow.com/questions/34084680/create-svn-repository-from-existing-module-keeping-history for ideas – Lazy Badger Mar 02 '16 at 00:44
  • I have tried merging again and it seemed to work sensibly (no idea why it was conflicting yesterday) but maybe i was seeing something that wasn't there or attributing it to the move when I did something else weird. – undefined Mar 02 '16 at 01:20

1 Answers1

1
  • I don't think svn mv is the source of tree-conflict and yes, --ignore-ancestry may help with merge
  • You can try to avoid renaming by using svn-dump-reloc on dump before loading it
Lazy Badger
  • 94,711
  • 9
  • 78
  • 110