2016-09-15 3 views
-1

SVN 프로젝트를 Git으로 마이그레이션 중입니다. SVN 프로젝트는 저장소 내에 다음과 같은 구조를 가지고 있습니다.(ERROR) SVN -> Git migration 잘못된 오류

/trunk 
/branches 
/tags 

나는 트렁크 마스터 지점, 자식 태그 정상 자식 브랜치와 태그와 같은 다른 지점의 역할을 원하기 때문에.

가 나는 오류 다음 얻을

git svn clone --stdlayout <svn-repo-url> 

명령 아래 실행도 모두 위 명령의

git svn clone <svn-repo-url> -T trunk -b branches -t tags 

을 시도 :

fatal: .git\svn\refs\remotes\origin\https;C:\Softwares\Git\index: index file open failed: Invalid argument 
     (in cleanup) update-index -z --index-info: command returned error: 128 
W: +empty_dir: branches/<svn-repo-url>/branches 
fatal: Unable to create '<my-git-working-directory>/.git\svn\refs\remotes\origin\https;C:\Softwares\Git\index.lock': Invalid argument 

를 그리고 명령 아래 실행하면

git svn clone --trunk=/trunk --branches=/branches --tags=/tags <svn-repo-url> 

내가

svn-remote.svn: remote ref '/Users/<user-id>/AppData/Local/Programs/Git/trunk:refs/remotes/origin/trunk' must start with 'refs/' 

+0

나는 동일한 문제가 있었지만 https://github.com/nirvdrum/svn2git를 사용했다. – 2Fast2BCn

답변

-1

git-svn 도와주세요 다음과 같은 오류가 무엇입니까 것은 하지 저장소의 1 시간 변환에 적합한 도구입니다. Git을 기존 SVN 서버의 프론트 엔드로 사용하려는 경우 훌륭한 도구이지만 일회성 변환의 경우 이 아닌git-svn을 사용해야하지만 svn2git은이 사용 사례에 훨씬 적합합니다.

svn2git이라는 pleny 도구가 있는데, 아마도 가장 좋은 도구는 https://github.com/svn-all-fast-export/svn2git의 KDE입니다. 그 svn2git 도구를 사용하는 것이 좋습니다. 내가 사용할 수있는 최선의 방법이며, 규칙 파일을 통해 할 수있는 일에 매우 유연합니다.

svneverever에서 http://blog.hartwork.org/?p=763까지의 기록은 Git으로 마이그레이션 할 때 SVN 저장소의 기록을 조사하는 훌륭한 도구입니다.

또한 https://github.com/tikalk/tikal-alm-tools/tree/master/scm-tools/scm-migration/manual/SVN2GIT

, 당신은 저를 참조 할 수 있습니다

+0

우리는 다른 도구를 사용할 수 없습니다 – virendrao

+0

왜 안 되니? 특히 귀하의 요구 사항이 충족 될 수없는 경우. 이자형. 지. 당신은 정상적인 힘내 꼬리표로 꼬리표를 원한다고 말했다. 'git-svn'은 ** 불가능하지만 ** SVN 태그는'tags /'접두사가있는 Git 브랜치가 될 것입니다. 'git2svn' **은 적어도 제가 권장하는 것을 사용한다면 ** 제대로 할 수 있습니다. – Vampire

+0

그 능력, 우리는 내가 가지고있는 별도의 스크립트를 실행해야합니다. – virendrao

-1

은, 때문에 내 작업의 일환으로, 나는 그것을 위해 포장 도구를 만들었습니다, 많은 SVN - 투 - GIT 마이그레이션을 수행 한 개인

+0

위의 문제를 도울 수 있습니다. 이 도구를 사용할 수 없습니다. – virendrao

+0

각 SVN 저장소와 그 커밋 및 내부 심볼릭 링크의 구조로 SVN 저장소를 GIT로 변환 할 수있는 도구를 만드는 것이 어렵습니다.따라서 각 유스 케이스는 다를 수 있으며 다르게 해결 될 수 있습니다. 모범 사례는 일반적으로 GIT로 이전하지 않고 동시에 바이너리 파일, 이전 폴더를 없애는 것입니다. 동시에 SVN 저장소를 읽기 전용으로 유지하면 GIT 로의 이동이 쉬워집니다. – yorammi