2011-10-22 2 views
4

나는 Mercurial 저장소를 변환하여 두 개의 저장소를 하나로 병합하기위한 준비로 모든 파일을 하위 디렉토리로 옮기려고한다. 내가 겪고있는 문제는 전환 과정에서 일부 지점이 사라 졌다는 것입니다. Hg convert가 가지를 잃는다.

내가 뭐하는 거지입니다 :

rename . subdir 

이 명령이 완료되면, DestRepo가 만들었지 만했다 SourceRepo의 모든 지점이 누락되어 다음과 같이

hg convert --filemap filemap.txt SourceRepo DestRepo 

내 filemap.txt입니다 그들에게 아무런 변화가 없었다.

원래 저장소가 SVN 저장소 였기 때문에 내가 분기와 태그를 동일하게 사용하는 이유는 버전을 태그하기 위해 분기를 사용했기 때문입니다.

브랜치를 잃지 않고이 변환을 완료 할 수있는 방법이 있습니까?

편집 : Ry4n의 질문에 대답.

소스 repo는 hgsubversion 확장자를 사용하여 SVN 저장소에서 생성 된 Mercurial 저장소입니다. 의욕에

> hg log -b V3.02.55 

changeset: 84:cf19dfac555c 
branch:  V3.02.55 
parent:  71:aec56bf6ad9a 
user:  [email protected] 
date:  Wed Aug 24 15:31:01 2011 +0000 
summary:  Branching V3.02.55 

답변

3

이 그들에 변경없이 명명 된 지점 같은 것은 없다 : 여기에

는 분기의 로그입니다. 소스 저장소가 Mercurial 저장소 인 경우 해당 저장소가 없거나 적어도 하나의 변경 사항이 있습니다.

소스가 Mercurial입니까?

그렇다면 존재하는 것으로 생각되지만 변경 사항이없는 분기 중 하나에 hg log -b NAME 출력을 제공 할 수 있습니까?

+0

소스는 hgsubversion 확장으로 생성 된 Mercurial 저장소입니다. log 명령의 출력에 대해서는 위의 편집을 참조하십시오. –

+0

그래, 거기에 해당 지점에 changesets, 그들은 단지 빈 패치가 있습니다. 태그로 만들지 않는 이유는 무엇입니까? 릴리스 마커를 배치 한 후에 'hg 태그'를 사용하여 자동화 할 수 있어야합니다. 나중에 해당 시점에서 일부 변경 집합을 추가하려면 태그로 업데이트 한 다음 커밋하여 쉽게 변경할 수 있습니다. –

+0

감사합니다. 나는 그것이 내가 할 수있는 것이라고 생각한다. 어쨌든 그들은 SVN이 브랜치를 태그로 사용한다는 태그 일 것입니다. –

관련 문제