Mercurial でマージ プロセスを完全に手動で制御する方法はありますか?
競合のないファイルでも、ファイルマージの方向を選択できるようにしたい。それは可能ですか?
Mercurial でマージ プロセスを完全に手動で制御する方法はありますか?
競合のないファイルでも、ファイルマージの方向を選択できるようにしたい。それは可能ですか?
構成ファイルを次のように編集します。
[ui]
merge = kdiff3
[merge-tools]
kdiff3.premerge = false
kdiff3.args=--L1 base --L2 local --L3 other $base $local $other -o $output
デフォルトでは、--auto
引数を kdiff3 に置くので、kdiff3 は自動マージします。
マージは、作業ディレクトリの親リビジョンと別のリビジョン(デフォルトではリポジトリ内の別のヘッド)の間で常に実行されます。
他の「方向」にマージする場合は、特定のリビジョンをチェックアウトすることにより、作業ディレクトリにあるブランチを変更できます。
hg update -r [rev]
リポジトリにあるヘッドを確認するには、次のコマンドを実行します。
hg heads
または、使用しfetch
ている場合は、オプションを使用--switch-parent
して他の方向にマージできます。
hg fetch --switch-parent
Mercurialは、CVSのような個々のファイルへの変更を追跡するのではなく、リポジトリ全体に影響を与えるチェンジセットを処理するため、ファイルごとにマージの方向を変更することはできません。