2011-03-02 3 views
15

정확하게 hg exporthg bundle을 사용 하시겠습니까?Mercurial hg 번들 및 hg export와 merging의 사용?

이러한 명령은 Mercurial 빠른 시작 guide에 나열되어 있지만 사용시기는 확실하지 않습니다.

현재 우리는 서로 다른 저장소와 병합을 통해 개발자를 관리합니다. 즉 :

cd myapp-1.01 
hg pull ../myapp-1.0 
hg merge 
hg commit 
hg push 

언제 우리가 사용하는 접근 방식 대신 내보내기 및 번들을 사용 하시겠습니까?

답변

19

가장 큰 차이점은 상위 변경 집합이 대상 리포지토리에 있는지 여부입니다.

[A]--[B]---[C] 

와 대상이있다 : 예를 들어 소스 환매 특약이있는 경우

[A]--[B] 

을 당신은 당신이 번들을 사용 (또는/풀 푸시) 수 [C]를 보내려고합니다.

경우, 그러나, 당신의 목적지 저장소했다 :

[A]--[D] 

당신은 당신이 가져 오기 및 내보내기를 사용해야 할 것 그것에 [C]를 추가하고 싶었다.

간략한 설명 : bundle은 밀어 넣기/끌기를 원하지만 좋은 네트워크 경로가없는 경우를위한 것이며 export은 그 구체적인 정확한 변경 집합이 아닌 변경 집합의 논리 내용을 보내려는 경우를위한 것입니다. .

+1

@ Ry4an은 다음과 같이 보완합니다. 번들은 원래 저장소와 동일한 위치에 변경 집합을 삽입합니다. 즉, 새 저장소에서 새 머리를 갖게됩니다. – Alex

5
  • 번들 (다른 저장소 다른 곳에 적용되는 이메일로 보내기, 등) 쉽게 전송을위한 파일에 변경 집합의 지정된 범위를 저장하는 것이 더 적합합니다. hg --help bundle 가입일

    는 :

    번들 파일은 가 을 통상적 인 수단을 사용하여 전송되고 다른 적용 저장소에 으로 풀기 또는 명령 당겨 수있다. 직접 밀기 및 당기기를 사용할 수 없거나 전체 저장소를 내보내는 것이 바람직하지 않은 경우 유용 입니다.

  • 수출은 변경 집합의 일부 범위 헤더 + 차이점 목록을 생성 보이지만이 다른 곳을 전송하는 자동화하는 데 도움이 경우 도움말 파일은 언급하지 않습니다.

    또한 내보내기를위한 파일 출력 인수는 개정 번호 등으로 포맷 할 수 있습니다.이 명령은 수정본을 파일 (예 : 파일)로보기 쉽도록 저장하는 데 사용됩니다.).

관련 문제