19

Mercurial でマージ プロセスを完全に手動で制御する方法はありますか?

競合のないファイルでも、ファイルマージの方向を選択できるようにしたい。それは可能ですか?

4

4 に答える 4

12

構成ファイルを次のように編集します。

[ui]
merge = kdiff3

[merge-tools]
kdiff3.premerge = false
kdiff3.args=--L1 base --L2 local --L3 other $base $local $other -o $output

デフォルトでは、--auto引数を kdiff3 に置くので、kdiff3 は自動マージします。

于 2010-06-25T20:37:36.527 に答える
2

マージは、作業ディレクトリの親リビジョンと別のリビジョン(デフォルトではリポジトリ内の別のヘッド)の間で常に実行されます。

他の「方向」にマージする場合は、特定のリビジョンをチェックアウトすることにより、作業ディレクトリにあるブランチを変更できます。

hg update -r [rev]

リポジトリにあるヘッドを確認するには、次のコマンドを実行します。

hg heads

または、使用しfetchている場合は、オプションを使用--switch-parentして他の方向にマージできます。

hg fetch --switch-parent

Mercurialは、CVSのような個々のファイルへの変更を追跡するのではなく、リポジトリ全体に影響を与えるチェンジセットを処理するため、ファイルごとにマージの方向を変更することはできません。

于 2009-03-26T10:17:17.010 に答える