Mercurialのデフォルトの差分ツールを変更することはできますか?

StackOverflow https://stackoverflow.com/questions/238183

  •  04-07-2019
  •  | 
  •  

質問

hg diff file.ext を実行するたびに、コンソールdiffアプリケーションを使用することになります。 Kdiff3またはWinMergeを使用します(Windowsを使用しています)。

それを変更する方法はありますか? Mercurialのドキュメントにリファレンスが見つかりません(マージの話ではありません!)。

役に立ちましたか?

解決

Mercurialの組み込み拡張機能を使用してこれを解決しました... Mercurial.ini(Mercurialフォルダー)に次の行を追加するだけです:

[extensions]
hgext.extdiff=

[extdiff]
cmd.vdiff = kdiff3

diffの代わりにkdiff3を使用する場合、使用する必要があるのは次のとおりです。

hg vdiff file.ext

他のヒント

この設定で

[extdiff]
cmd.kdiff3 =

このコマンドを使用して差分を表示します:

hg kdiff

これは、変更されたすべてのファイルを含むディレクトリツリーを示しています。ファイルをクリックすると、そのファイルだけの差分が表示されます。コマンドにファイルパラメータを追加して、1つのファイルだけを表示できる場合があります。

詳細こちら

数分前にこの問題が発生しました。私はちょうどそれをインストールし、そのパス(デフォルトはc:\ program files \ kdiff3にあります)をシステムPATH e.vに追加しました。新しいパスを取得するためにウィンドウを再起動し、「hg kdiff3」ただ働いた。判明したように、以下は私のベース「mercurial.ini」にあります。ファイル。これにより、システム上のすべてのhgリポジトリに対してkdiff3が機能します。

[extensions]  
hgext.extdiff =  

[extdiff]  
cmd.kdiff3 =

[merge-tools]  
kdiff3.args = $base $local $other -o $output

git difftool のようなファイル名を入力する必要がなく、変更されたすべてのファイルの差分を確認する必要がある場合は、これらを〜/ .hgrcに追加します、および hg difftool を実行します。

[extensions]
extdiff =

[extdiff]
cmd.vimdiff = vimdiff

[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top