version control - SVN load dump to exact folder -
have standard subversion layout 1 branch :
repo_1 repo_root |-branches |-branch_one |-tags |-trunk
and second repository, repo_2 repo_root |-branches |-tags |-trunk |-folder1
i want export repo_2/trunk/folder1 content repo_1/branches/branch_one/folder1
i'm making folder dump : svnrdump dump svn://mysvnserver/repo_2/trunk/folder1 > folder1.dump
then loading repo_1 : svnadmin load repo_1 --parent-dir branches/branch_one < folder1.dump
and getting following repo_1 structure : repo_root |-branches |-branch_one |-trunk |-folder1 |-tags |-trunk
getting trunk folder don't need there. there way plug in "folder1" directly "branch_one" ?
re-read carefully , fully filtering repository history in svn book, pay special attention on warnings
you forgot, dump-file holds relative paths included in dump nodes inside file , --parent-dir
change starting mount-point of mentioned in dump nodes, not relative location
each of dump files create valid repository, preserve paths in original repository. means though have repository solely calc project, repository still have top-level directory named calc. if want trunk, tags, , branches directories live in root of repository, might wish edit dump files, tweaking
node-path
,node-copyfrom-path
headers no longer have first calc/ path component
from own experience prefer always filter dumps svndumpfilter include
, if dump created svnrdump part of repo-tree: produce less (0) errors or svnadmin load
. example, moving remote repo/trunk/lib
same path on local repository (there default repository-tree exist) implies me
>svnrdump dump url/trunk/lib > full.dmp >svndumpfilter include --pattern "*lib*" --drop-empty-revs --renumber-revs < full.dmp > filtered3.dmp
(include --pattern
because plain include lib
produced worse result, can hands-related problem)
and this filtered dump can easy loaded
>svnadmin load repo --parent-dir / < filtered3.dmp <<< started new transaction, based on original revision 1 * adding path : trunk/lib ... done. * adding path : trunk/lib/lib01.txt ... done. ------- committed new rev 2 (loaded original rev 1) >>>
whereas "dumb" dump
>svnrdump dump url/trunk/lib > dump.dmp
give error on load-attempt
>svnadmin load repo2 < dump.dmp <<< started new transaction, based on original revision 1 * adding path : trunk ...svnadmin: e160020: file exists: filesystem 'bcf62090-928b-9f49-8008-455204e6d81f', transaction '1-1', path '/trunk'
Comments
Post a Comment