チュートリアル - 他のリポジトリと変更を共有する
JapaneseTutorialFirstChange では、私達は 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 が同じ内容と更新履歴を持っていることを確認することができます。
他の人と変更を共有するには、JapaneseTutorialExport に進まなければなりません。