2011-01-17 1 views
2

커다란 SVN 저장소 (거의 8,000 커밋)를 복제했는데 문제가없는 것으로 보입니다.git svn fetch가 초기 복제 후 수정 된 Subversion 커밋 메시지를 가져 오지 않았습니다.

그 이후로, 약 20 개의 Subversion 커밋 메시지의 커밋 메시지가 오타를 수정하기 위해 변경되었습니다. 이것은 합법적으로 행해졌 다. 그러나 git svn fetch는 업데이트 된 커밋 메시지를 가져 오지 않습니다. 오래 된 오래된 커밋 메시지를 여전히 표시합니다.

해결 방법이 있습니까? 가급적 깨끗한 방법으로 그리고 내 로컬 자식 저장소를 너무 많이 해킹하지 않고?

git svn fetch -r 1234 (1234는 알려진 개정 번호 임)를 시도했습니다. 그러나 운이 없다. http://git-scm.com/docs/git-svn에서

답변

1

는 :

자식 SVN은

이 효과는 다시 특정 개정 페치 실행 취소 재설정. 그러면 에서 SVN 개정판을 다시 가져올 수 있습니다.

[...]

는 리셋 따르 가져 오기 다음 리셋 또는 자식 REBASE 새로운 트리에 지역 지점을 이동 이눔 아. 개정 1234 커밋 메시지가 변경 한 첫 번째 경우 아무것도 다른 경우, 당신은 커밋 메시지를 포함,

$ git svn reset -p 1234 
$ git svn fetch 

할 것입니다 귀하의 경우 그래서

는, 새로운 커밋이다 새로운 SHA1을 사용하는 완전히 다른 객체이기 때문에, 여러분은 가지고있는 모든 브랜치를 적절한 재 작성 된 커밋으로 리베이스해야 할 것입니다.