fetchという名前の組み込み拡張機能は、プッシュ以外のすべてを行います。
最も単純なケースでは、hg fetch は次のように動作hg pull -u
します — リモート リポジトリからローカル リポジトリに変更をプルし、作業ディレクトリを更新します。(これは、Subversion や CVS に見られる "update" コマンドに似ています。)
プルされた変更にマージが必要な場合、フェッチ拡張機能は のhg merge
後にhg commit
.
拡張機能を有効にしてから、次のようにします。
$ hg fetch && hg push
ただし、通常のマージの代わりにリベース (早送りマージ) を行うことを検討してください。--keep
これにより、無限の「マージ」コミットからリネージュをクリーンに保つことができます。元のチェンジセットを使用している場合は、通常のマージと同じくらい安全です。
実際のところ、単一のタスクに取り組むときの私の通常のワークフローは次のようなものです。
# edit some files, test
$ hg commit
# edit some more files, test
$ hg commit
$ hg pull --rebase
$ hg push