2011-08-24 4 views
4

documentation에서는 다음과 같은 내용의 맵 파일을 사용합니다.hg convert를 사용하여 hg pull -f 대신 2 repos를 병합하는 것이 유리합니까?

$ echo include subfoo > /tmp/myfilemap 
$ echo rename subfoo . >> /tmp/myfilemap 
$ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo 

2 repos와 같은 장점은 무엇입니까?

hg pull -f other_repo 
hg merge 

subfoo의 이름을 바꾸면 어떤 결과를 얻을 수 있습니까? ?

+0

2 repos가 관련되어 있습니까 (1은 다른 Repo이거나 동일한 Repo에서 복제 된 것입니까)? 아니면 완전히 관련이 있습니까? –

+0

repos는 완전히 관련이 없습니다. – Geo

답변

4

예제 (질문에 게시 한 subfoo 파일 맵)는 기존 저장소의 하위 디렉토리를 해당 하위 디렉토리의 모든 파일 기록과 함께 자체 저장소로 변환하기위한 것입니다. subfoo에서 .으로 이름 바꾸기는 원본 repo에있는 subfoo 디렉토리의 모든 파일과 디렉토리가 이제 새 repo의 루트 아래에 있음을 의미합니다.

당신은 반대를 할 rename와 filemap을 사용할 수 있습니다 지금은 서브 디렉토리의 내용을 REPO A의 루트의 내용을 확인하기 위해, 다음의 repo B는 pull를 사용하여 함께 결합

:

> echo rename . subfoo > /tmp/myfilemap 

> hg convert --filemap /tmp/myfilemap /path/to/repoA /path/to/repoA_converted 

> hg -R /path/to/repoB pull -f /path/to/repoA_converted 

> hg merge 

을하지만 , subrepos이 더 나은 대안 일 수 있습니다.

+0

그러나 convert를 사용하면 가져올 폴더를 지정할 수 있습니까? 끌어 오기 + 병합을 수행하는 경우 파일을 다른 디렉터리에 저장하려면 파일을 직접 이동해야합니다. – Geo

+0

아, 이름 바꾸기가되어야합니다. 권리? – Geo

+0

오른쪽. 이름을 변경하면 변경 집합을 추가하지 않고도 repo en-masse 내의 파일 경로를 변경할 수 있습니다. 예제에서'/ path/to/repoA/myfile.txt' 파일은'/ path/to/repoA_converted/subfoo/myfile.txt'로 끝납니다. –

관련 문제