2013-10-21 1 views
1

히스토리가있는 큰 Subversion 저장소를 git로 마이그레이션하려고합니다. 나는 'git svn clone'명령을 사용하여 svn repo를 복제함으로써 시작했다. 그러나 복제 도중에 충돌이 발생했지만 'git svn fetch'를 실행하여 마이그레이션을 재개했습니다. 며칠 동안 마이그레이션이 성공적으로 실행되었습니다. 가끔씩 충돌이 발생했으며 fatal: Unable to create '/.git/index.lock': File exists과 같이 index.lock 파일을 삭제해야했습니다."git svn fetch"는 index.lock 파일을 생성 한 다음 그것에 대해 불평합니다.

fatal: Unable to create '/path/index.lock': File exists. 

If no other git process is currently running, this probably means a 
git process crashed in this repository earlier. Make sure no other git 
process is running and remove the file manually to continue. 
read-tree f49b2a08d26076d9cb2828b9aba5fde30d46f73b: command returned error: 128 

그러나, index.lock 파일을 삭제 이번에는 불평을 계속 작업하고 '자식 svn의 가져 오기'하지 않았다 : 나는이 같은 오류로 실행 때까지이 파일 몇 번을 삭제 한 후 성공적 계속했다. 여기에 무슨 일이 일어나고있는 것입니다 :

나는 내가 '자식 svn의 인출'다시 시작
index.lock 파일을 삭제
위의 오류를 얻을 수
'자식 svn의 가져 오기'과정은 index.lock 파일
을 '재현 git svn fetch '오류가 위의 오류와 함께 다시 발생합니다.

그래서'git svn fetch '는 index.lock 파일을 다시 만드는 잘못된 루프에있는 것처럼 보입니다. 그런 다음 기존 파일에 대해 불평합니다. 따라서 :

나는 index.lock 파일을 삭제했습니다.
컴퓨터에 충분한 디스크 공간이 있는지 확인했습니다.
잠금 파일을 고수하고있는 이전 git 처리가 있었을 경우에 대비해 컴퓨터를 다시 부팅 해 보았습니다.
나는 자식의 GC와 위의 fatal: git-write-tree: error building trees

아무도 일하지 않았다 나는 힘내에 새로 온 사람 여기 조언 같은 자식 자두를 완료했습니다. 실행하는 데 며칠이 걸리기 때문에 마이그레이션을 다시 시작하고 싶지 않습니다. 누군가 내가 시도 할 수있는 다른 것을 제안 할 수 있습니까?

답변

2

이 문제를 해결하기 위해 내 자신의 질문에 답해주세요. 불행하게도 나는이 문제의 최하점에 도달하지 못했고 새로운 마이그레이션을 시작해야했습니다 (실제로 다른 컴퓨터에서 3 가지 마이그레이션을 시작했고 완료하려면 처음 2 주를 실행하는 데 2 ​​주가 걸렸습니다). 대규모 저장소를 마이그레이션하는 경우 (Google은 약 35GB의 코드 및 자산 기반 임) 긴 시간이 걸리거나 좌절 할 것으로 예상합니다. 위의 오류가 자주 발생하여 index.lock 파일을 삭제하고 "git svn fetch"를 사용하여 마이그레이션을 계속 진행했다는 사실을 알게되어 기쁩니다. 우리는 마이그레이션이 계속되지 않는 위의 문제에 다시 부딪치지 않았습니다.