目次

TortoiseHg/差分表示やマージの時にWinMergeを使う

設定がいろいろあって自分でもよくわからないのだができているものをメモっておく。 diffとmergeは設定が分かれているのでそれぞれ書く

diff

外部diff拡張をONにする

まず外部diffツールを使えるように外部diff拡張であるextdiffをONする。

これは設定のエクステンションという項目からONにすることができる。

ONにしたら、有効にするためワークベンチを再起動する。

WinMergeを使えるように設定ファイルに記述

WinMergeをGUI差分表示で使えるようにTortoiseHgにWinMergeの位置を教えてやる。

拡張をONした時と同じように設定を開き、「ファイルを開く」をクリックして設定ファイルそのものを編集できる状態にする。

もう既に設定済みの拡張の記述が

[extensions]
extdiff = 

のようにあると思う

ここに、以下のようにWinMergeの場所の記述とコマンドラインに渡す順番を教える

[extdiff]
cmd.winmerge = C:\hoge\piyo\fuga\WinMerge\WinMergeU.exe
opts.winmerge = /r /e /x /ub

これは海外のサイトによく貼ってあるオプッションだがwinmergのオプションを見ると、これは

というオプション

[tortoisehg]
vdiff = winmerge

記述後saveボタンをクリックして保存。戻った画面で再読み込みボタンを押す。

この設定でローカルとの差分を取ると、左が対象で、右がローカルとしてWinMergeが展開する

GUI差分表示で使うツールをWinMergeに設定

設定画面でTortoiseHgの設定に移動し、GUI差分表示ツールの選択部分に前は存在しなかったwinmergeが出現しているので設定してやる。

念のため設定後ワークベンチを再起動。

これでGUI差分表示の際にWinMergeが使われるようになる。

merge

マージは拡張じゃなくて自前でできるみたいなのでこれを設定する

設定ファイルのuiのマージ項目にまず追加する。これは適当な名前でいいと思う

[ui]
merge = winmergeu

そしてmerge-toolsの項目を追加する

[merge-tools]
winmergeu.executable = C:\hoge\piyo\fuga\WinMerge\WinMergeU.exe
winmergeu.priority= 1
winmergeu.checkchanged=True
winmergeu.args= /e /ub /dl other /dr local $other $local $output
winmergeu.gui=False

バージョン

タグ