입문서 - 다른 저장소와 변경을 공유합니다
KoreanTutorialFirstChange에서는, my-hello-new-output 저장소에 변경집합을 작성하였습니다. 이번에는 그 변경을 다른 곳에까지 펼쳐보려 합니다.
Mercurial의 좋은 습관을 따라, 먼저 원 저장소를 복제해 봅시다.
$ cd .. $ hg clone my-hello my-hello-share
각 저장소의 Tip이 무엇인가를 아는 데에 tip 명령을 쓸 수 있습니다. (Tip은 가장 새로운 변경집합이라는 것을 상기해주세요.) Mercurial이 Tip의 완전한 설명을 출력하지 않게 하기 위해, -q (“조용하게”) 설정을 넘깁니다.
$ cd my-hello-share $ hg -q tip 1:82e55d328c8c $ cd ../my-hello-new-output $ hg -q tip 2:a58809af174d
보다시피, Tip는 여기저기 다릅니다. my-hello-share로 돌아와 새로운 변경집합을 그곳까지 넓혀봅시다. 그러기 위해, pull 명령을 씁니다. 이것은 다른 저장소에 있는, 이 저장소에는 없는 변경집합을 전부 이 저장소에 끌어오기합니다.
$ cd ../my-hello-share $ hg pull ../my-hello-new-output pulling from ../my-hello-new-output searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy)
다른 Mercurial 명령과는 달리, pull는 말이 많습니다. 이 예에서는, Pull은 성공했습니다.
출력의 마지막 줄은 중요합니다. 기본은, Mercurial은 Pull을 수행한 다음 작업디렉토리를 갱신하지 않습니다. 이것은 예를 들어 저장소가 새로운 변경집합을 포함하고 있다고 해도, 작업디렉토리의 hello.c 파일은 아직 이전의 Pull의 내용이라는 뜻입니다.
Mercurial의 조언에 따라, 이 파일(과 Pull의 사이에 변경된 다른 파일)을 변경하는 것이 가능합니다.
$ hg update
이 시점에서, my-hello-share와 my-hello-new-output이 같은 내용과 변경이력을 가지고 있음을 확인할 수 있습니다.
다른 사람과 변경을 공유하기 위해, KoreanTutorialExport로 이어갑시다.