0

TortoiseHg と Mercurial で差分ツールを構成しようとしています。

これは私が行った設定です:

[merge-tools]
CmpIt.executable = E:\Program Files (x86)\Compare It!\wincmp3.exe
CmpIt.priority = 1
CmpIt.premerge = True
CmpIt.gui = True

CmpIt.args= -m $local $base $other
CmpIt.diffargs= -m $local $base
CmpIt.dirdiff= True

しかし、ツールが起動すると、実際のファイル名ではなく、" $local " および " $base " ファイルが検索されます。

タスク マネージャーで、コマンド ラインが値ではなく引数の名前を取得していることがわかりました。

E:\Program Files (x86)\Compare It!\wincmp3.exe -m $local $base

args の値を強制的にコマンド ラインに渡すにはどうすればよいですか?

4

1 に答える 1

1

あなたはいくつかの重要なポイントを見逃しています

  1. CompareIt! の使用を避ける必要があります。マージ ツールとして (まだ 3 方向マージはサポートされていません):CmpIt.args今のところ BIG NO-NO です
  2. hgrc.d\MergeTools.rc.diffargs で使用され、TortoiseHG/Mercurial によって解析されたパラメータについて (マージツール部分の)再読み込みする必要があります: $local+$baseはマージ用の変数であり、diff 用ではありません
  3. CompareItを再読する必要があります。コマンドライン オプション-m: まったく言及されていません

私の視点から、bcompare.diffargs オプションをクイック スタートおよび CompareIT として使用します。「翻訳」のヘルプ、これは最初の繰り返しでかなり良いでしょう (テストされていません!!!)

CmpIt.args= -m $local $base $other

CmpIt.diffargs= $parent /=$plabel1 $child /=$clabel

于 2014-02-07T07:25:29.680 に答える