, 나는 아래의 명령을 사용 http://github.com/guides/import-from-subversion
에서 내가 수동으로했던 지난 시간에 지침을 참조하십시오.
cat "mysvnusername = Me Myself <[email protected]>" >> authors.txt
svnserve --daemon --foreground --root <SVN-REPO-PARENT-DIR>
git svn clone --stdlayout --authors-file=authors.txt --no-metadata svn://localhost/<SVN-REPO-NAME>
# push to a public repo and clone from there, to get push/pull working easily
cd <SVN-REPO-NAME>
git remote add origin [email protected]:mygithubusername/<GIT-REPO-NAME>.git
git push origin master
cd ..
rm -rf <SVN-REPO-NAME>
git clone [email protected]:mygithubusername/<GIT-REPO-NAME>.git
(이. 당신이 태그 또는 지점을 가지고있는 경우 자식 - svn을보다 더 나은 결과가 발생할 수 있습니다 svn2git 사용. 태그 또는 지점을 사용하지 않은 프로젝트에 대한했다)하지만 당신은 표준이 아닌 SVN 저장소 레이아웃이 있기 때문에 git svn clone의 경우 --stdlayout 대신 --trunk, --tags 및 --branches 매개 변수를 지정해야합니다.
/branches/original-0.1
/branches/original-0.2
/branches/variantA-trunk
/branches/variantA-who-branch_for_xxx
/branches/variantA-she-branch_for_yyy
/branches/variantB-trunk
/branches/variantB-who-branch_for_zzz
...
가 쉽게해야한다 : 대신에 표준이 아닌 계층 구조는 표준 평면 저장소 레이아웃을 것이다 있도록
이 저장소의 전체 상속 역사를 표현하기 위해, 당신은 당신의 저장소를 재정렬 시도 할 수 가져 오기 도구를 사용하여 저장소를 이해할 수 있습니다. 그런 다음 가져온 후에는 새 저장소에서 더 잘 재구성 할 수 있습니다.
Git 1.6.x는 딥 복제를 지원하므로 --branches=branches/*/*
과 같은 매개 변수를 git svn clone
에게 줄 수 있습니다.이 매개 변수는 브랜치의 계층 구조를 깊이 조사합니다. 사용 예는 this post을 참조하십시오.
어떻게 접근 하는가는 주로 어떤 DVCS를 사용 하느냐에 달려 있습니다. –