概要
TortoiseGitを使っている。
競合が発生した際にはマージツールによってマージ作業を行う必要がある。
単純なマージ作業(いずれかを選択する、もしくは両方を採用する等)であれば、P4Mergeが断然使いやすい。(※個人の見解です)
一方、単純でないマージ作業(変更点を部分的に採用する等)の場合、普段使っているEmacsを使いたい。(※個人の見解です)
そこで、TortoiseGitのマージツールに選択起動できるツール(マージツールセレクタ)を設定することを思いついた。
私の場合、最初はP4Mergeを起動したく、diffを見て本気のマージが必要、と判断したときにemacsを起動したい。
Python/PyQt5 で作ってみた。
ツール
P4Merge、emacsのパスが決め打ちだが、アップしてみた。
使用例
マージツールセレクタが起動
いずれかのボタンを押すことでマージツールが起動する。
P4Merge
P4Mergeを起動した例。
このような単純な例であれば、P4Mergeがdiffも見やすいしマージもし易い。
emacs
単純でない場合には、普段使っているエディタで編集したいところ。自分の場合にはemacs。
設定方法
mergeToolSelector.bat %base %theirs %mine %merged %bname %tname %yname %mname
改善点
- defaultのマージツール(自分の場合はP4Merge)が自動で起動するようにしておき、必要に応じて別のツールを選択起動できるような機能を盛り込みたい
- さすがに決め打ちはどうかと思うので設定ファイルでマージツールのパスを指定できるようにする
- その他のツールも指定できるようにする
- TotoiseGitMerge や WinMerge とか
- 引数も任意に指定できるようにして、より汎用的にしたい