SVN 저장소를 여러 git repos로 변환하려고합니다. 지금까지 나는 SVN의 각 프로젝트에 대해 git svn clone svn_repo_project_path
을 사용 해왔다. 나는 자식이 svn 복사 작업을 따르지 않는 것으로 보이기 때문에 결과 기록이 예상보다 훨씬 간단합니다. 내 SVN의 환매 특약이처럼 보였다 가정 :git으로 변환 할 때 svn copy history 유지
루트
- B
- C
- 부모 - PROJ
- B
- C
b
및 c
최근 결국 루트 아래에 그들의 오래된 위치에서 삭제의 의도와 구조 조정 노력의 일환으로 parent-proj
에서 복사되었습니다. 내가 수행 할 때 git svn clone http://svnhost/parent-proj
결과 git repo가 이동하기 전에 /b
및 /c
에서 발생한 모든 기록이 누락되었습니다.
이것은 git-svn의 제한 사항입니까, 아니면이 기록을 내 저장소에 표시 할 수있는 방법이 있습니까? 내 제한된 연구에서 Getting complete history of an SVN repo that's been renamed using git-svn에 설명 된대로 filter-branch
명령을 사용하는 것이 가능할 수도 있지만 내 경우에는 여러 가지 부모가있을 수 있습니다. 먼저 전체 repo를 복제 한 다음 새로운 repo를 필터 분기를 사용하여 분리 할 수 있었습니까? 더 나은 접근 방법이 될 수 있습니까?
디렉토리를 이동할 때에도 모든 파일의 비난 기록이 나옵니다. 그리고 내 'git svn clone'도 복제 된 디렉토리 외부의 프로젝트를 추적했습니다 (원래는 어디에서 유래 했습니까). –
@ShadowCreeper : 당신은 힘내 어떤 버전을 사용하고 계셨습니까? 패트릭 (Patrick)과 같은 문제가 있습니다. – Pylinux
복제 된 버전이 확실하지 않습니다. 나는 그것이 원래 1.7 버전 (debian wheezy의 최신 버전으로 몇 달 전 이었음)이라고 생각한다. 그러나 최근에 v1.8.4를 사용하여 지저분한 역사를 가진 프로젝트 중 하나를 재발행했으며 동일한 동작을 보였습니다 (일부 SHA는 완전히 다른 나무 임). 어쩌면 SVN 서버 버전이 더 중요할까요? 나는 그것이 여전히 1.7에 있다고 믿는다. –