여러개의 Subversion 저장소 하나로 합치기
기존 여러개로 나뉜 저장소를 dump한뒤 하나의 저장소로 load 하기위한 방법입니다.
핵심은 load 옵션중에 --parent-dir 을 사용하는 것입니다.
svnadmin dump d:\svn\oldRepos_aaa > d:\aaa_dump.svn
svnadmin dump d:\svn\oldRepos_bbb > d:\bbb_dump.svn
svnadmin create newRepos
svn mkdir http://localhost/svn/newRepos/aaa
svn mkdir http://localhost/svn/newRepos/bbb
svnadmin load newRepos --parent-dir aaa < d:\aaa_dump.svn
svnadmin load newRepos --parent-dir bbb < d:\bbb_dump.svn
이렇게 되면 두개의 Revision 정보가 하나로 통합됩니다.
만약 aaa 밑에 bbb를 넣고 싶다면? 직접해봐야 하겠으나 각 aaa, bbb 단위로 trunk가 생기기 때문에 Revision충돌이 날것 같다.
참고자료 : http://stackoverflow.com/questions/375869/subversion-merging-repositories
P.S. 저장소 복원시 지원되지 않는 문자열 관련 오류가 난다면 다음의 옵션을 추가해서 복원하도록 하자.
--bypass-prop-validation
예) svnadmin load newRepos --parent-dir aaa --bypass-prop-validation < d:\aaa_dump.svn