We have multiple SVN repositories in a particular physical location /mnt/data1/repos
And the repos are in structure as below
repos
|
App1
|
trunk
|
module1
|
module2
|
branches
|
App2
|
trunk
|
module1
|
module2
|
branches
|
App3
|
trunk
|
module1
|
module2
|
branches
We are trying to consolidate multiple repos to single repo as below at a different path /mnt/data2/repo
repo
|
trunk
|
App1
|
module1
|
module2
|
App2
|
module1
|
module2
|
App3
|
module1
|
module2
I created a repo using svnadmin at /mnt/data2/repo
Created directories /mnt/data2/repo/trunk/App1
, /mnt/data2/repo/trunk/App2
& /mnt/data2/repo/trunk/App3
using svn mkdir
.
Then I tried to do svn dump
of app1 /mnt/data1/repos/App1/
, filter it using svndumpfilter
with include trunk
and did svn import
to /mnt/data2/repo/trunk/App1
. It failed since /mnt/data2/repo/trunk/App1
is not the root of the repo.
Please let me know the best suitable way to perform this consolidation. Important point is that we should preserve the revision history from all the repos.
Edit:
I performed the following steps.
svnadmin dump --quiet /mnt/data1/repos/App1 > App1.dmp
svndumpfilter include --targets /tmp/list.txt < App1.dmp > App1Trunk.dmp
svnadmin create /mnt/data2/repo/
svn mkdir --parents svn://<IP>:<PORT>/trunk/App1 -m "Creating MC directory"
svnadmin load --quiet --parent-dir trunk/App1 /mnt/data2/repo < App1Trunk.dmp
When I tried to load the dump I found that it's still creating trunk/App1/trunk/module1
, trunk/App1/trunk/module2
, etc. Help me in loading data into trunk/App1/moudle*
.