2012-07-02 4 views
4

전 Subversion 저장소를 수은으로 마이그레이션했습니다. svn 저장소에는 로컬 시스템의 다른 위치에있는 여러 프로젝트가 있습니다. 내가 어떻게 그런 식으로 일해야하는지 알 수 없다. 수은 측은 항상 전체 트리를 한 곳으로 확인하기를 원합니다.수은 저장소를 완전히 복제해야합니까, 아니면 하위 트리를 가져올 수 있습니까?

특정 하위 트리만 체크 아웃 할 수 있습니까?

그렇다면 단일 서브 버전 저장소의 일부를 여러 개의 수은 저장소로 가져와야합니다. 물론 (전복에서 역사 정보를 잃지 않고) 그 일을 어떻게 수행 할 것인가.

+0

Mercurial (및 기타 DVCSes)은 하위 트리 체크 아웃을 지원하지 않는 경향이 있습니다. – Amber

+0

가능한 복제본 [Git과 Mercurial의 부분 복제본] (http://stackoverflow.com/questions/2586824/partial-clone-with-git-and-mercurial) –

답변

2

Mercurial은 하위 트리 체크 아웃을 지원하지 않습니다. ConvertExtension (Mercurial에 포함)은 리포지토리를 변환하는 데 사용되며 사용자, 파일 및 디렉토리를 다시 매핑하거나 트리밍 할 수있는 필터링을 수행하는데도 사용할 수 있습니다. 소스 저장소에서 특정 분기 포함/제외에 대한 구체적 내용은 --filemap을 참조하십시오.

echo include subfoo > filemap.txt 
echo rename subfoo . >> filemap.txt 
hg convert --filemap filemap.txt path/to/foo newsubfoo-repo 

:

마크에서 언급 한 바와 같이
0

, 때문에 이렇게 자신의 저장소로 저장소 "foo는"의 하위 디렉토리 "subfoo"를 변환, on its wiki page 설명으로 확장이 일을 할 수 변환 다양한 저장소 변환을 지원하는 또 다른 도구는 reposurgeon입니다.

는이 일을 할 수 narrowng 확장 새로운 브랜드가 있지만 명확하지 않다 아직 생산 준비합니다.

관련 문제