2

これが私の設定ファイルです:

[extensions]
hgext.extdiff =

[extdiff]
cmd.kdiff3 = /Applications/kdiff3.app/Contents/MacOS/kdiff3

[tortoisehg]
vdiff = kdiff3

[ui]
merge = kdiff3

[merge-tools]
kdiff3.executable = /Applications/kdiff3.app/Contents/MacOS/kdiff3
kdiff3.args = $base $local $other -o $output
kdiff3.priority = 1

マージ ファイルで を押すと、が に設定されてCmd + Dいても、ローカルの親との 2 方向の差分のみが表示されます。Windows で を押すと、設定を何も変更していなくても、2 つの親を持つ 3 方向の差分が表示されます。List OptionsChanged by This CommitCtrl + D

Mac で TortoiseHG を設定して、 を押したときにマージ ファイルで 3 方向の差分を表示するにはどうすればよいCmd + Dですか? TortoiseHG 3.9.0 を使用しています

4

1 に答える 1

2

いくつかのreadthedocsの引用

TortoiseHg 1.0 では、ビジュアル (外部) 差分インフラストラクチャがリファクタリングされました。新しいシステムは、mergetools.rc のツールの説明を使用して、コンピューター上の最も一般的な差分ツール (インストーラーに同梱されている KDiff3 を含む) を検出し、利用可能な最適なツールを選択します。

1.0以来、おい!!! ExtDiff は、merge|diff ツールに必須ではありません (カスタムであっても、kdiff3 は THG に同梱されています)。

ビジュアル差分システムは、見つかった既存の extdiff構成を使用します。extdiffはごく最近まで 3 通りの diff 引数をサポートしておらず、ラベル引数もまだサポートしていないため、extdiff 構成を無効にするか削除することで、エクスペリエンスが向上する可能性があります。

手で切断されていないデフォルトの KDiff3 構成 ( hgrc.d\MergeTools.rcWindows から) はすべてのタスクを適切に実行します

kdiff3.args=--auto --L1 base --L2 parent1 --L3 parent2 $base $local $other -o $output
kdiff3.regkey=Software\KDiff3
kdiff3.regkeyalt=Software\Wow6432Node\KDiff3
kdiff3.regappend=\kdiff3.exe
kdiff3.fixeol=False
kdiff3.premerge=False
kdiff3.gui=True
kdiff3.priority=-3
kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
kdiff3.diff3args=--L1 '$plabel1' --L2 '$clabel' --L3 '$plabel2' $parent1 $child $parent2
kdiff3.dirdiff=True

(メモdiffargs+diff3argsオプション)。上記ソースより

ビジュアル差分のために TortoiseHg によって使用される追加のキー:

diffargs:  the arguments to use for two-way file comparisons
diff3args: the arguments to use for three-way file comparisons

... 未構成の場合、デフォルト値diffargsは「$parent $child」です。のデフォルト値diff3argsは「」で、ビジュアル差分ツールが 3 者間比較を実行できないことを示します。

ただし、マージセットには 3 通りの比較が必須であり、設定ミスは MacOS の TortoiseHG インスタンスで問題の原因となります

于 2016-08-20T00:48:43.817 に答える