약간 지저분한 svn 저장소를 git로 변환하려고합니다. 나는 약간의 가이드와 다른 SO 질문을 읽으려고했지만, 따라야 할 최선의 방법에 관해서는 조금 길을 잃었다.지저분한 svn 저장소를 자식으로 변환
SVN 저장소는 폴더와 최상위 폴더 구조 같은 것을 가지고
|- client
|- server
|- website
|- misc
해당 폴더의 대부분은 '표준'svn의 구조를 가지고 : 즉 trunk
, branches
및 tags
. 그러나 일부는 단순한 폴더입니다.
|- client
|- trunk
|- branches
|- tags
|- server
|- trunk
|- branches
|- tags
|- website
|- misc
가지와 태그는 서로 다른 폴더간에 이름이 같을 수 있습니다. 예를 들어 클라이언트 폴더와 서버 폴더 모두 1.0
이라는 브랜치를 가질 수 있습니다.
나는 svn2git을 사용하여 개별 폴더를 변환 할 수 있었으며, 잘된 점뿐만 아니라 기록을 얻은 것으로 보인다. 각 폴더에 대해 개별 자식 저장소를 생성 할 수 있습니다. 그러나, 나는 모든 것을 하나의 저장소에 보관하고 싶습니다.
분기, 태그 및 각 폴더의 기록을 유지하면서 그 폴더 (현재 git 저장소)를 하나로 병합하는 가장 좋은 방법은 무엇입니까? this approach을 사용하면 병합 저장소와 저장소의 커밋 기록과 분기가 모두 손실 된 것 같습니다. 아니면 중요한 단계가 누락되었거나 잘못 처리 한 것일 수 있습니다.
그렇지 않으면을 각 폴더에 별도로 사용하면 svn에서 git로 마이그레이션하는 것이 가장 좋은 방법이 아닌 것일까 요?
감사합니다. 흥미로운 접근 방법처럼 들리지만 안전하게 할 수있는 리소스/도구에 대해 알고 있습니까? 나는 svn 덤프에 대한 빠른 견해를 가지고 있었고 어디에서 시작해야하는지 정말로 알지 못했다. (예를 들어, 클라이언트와 서버의 동일한 이름을 가진 두 개의 분기를 병합하는 것과 관련된 문제는 ...) – gingerlime
http : // svn. apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt - 덤프 파일에서'Node-path'를 검색하십시오. 복사/이동 작업을 수행했다면,'Node-copyfrom-path'도 관련이 있습니다. – ThiefMaster
이 물건은 내 머리를 통해 완벽하게 정직하게 보인다 ... svn 내부 덤프 형식으로 어지럽히는 같은 거대한 규모로 일부 정규식 검색/바꾸기를하는 것은 정확히 내가 바라는 해결책이 아닙니다. 그래도이 방향을 제안 해 주셔서 감사합니다! – gingerlime