1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TortoiseGitのマージツールをその都度選択して起動できるようにする

Last updated at Posted at 2021-01-02

概要

TortoiseGitを使っている。
競合が発生した際にはマージツールによってマージ作業を行う必要がある。
単純なマージ作業(いずれかを選択する、もしくは両方を採用する等)であれば、P4Mergeが断然使いやすい。(※個人の見解です)
一方、単純でないマージ作業(変更点を部分的に採用する等)の場合、普段使っているEmacsを使いたい。(※個人の見解です)
そこで、TortoiseGitのマージツールに選択起動できるツール(マージツールセレクタ)を設定することを思いついた。

私の場合、最初はP4Mergeを起動したく、diffを見て本気のマージが必要、と判断したときにemacsを起動したい。

Python/PyQt5 で作ってみた。

ツール

P4Merge、emacsのパスが決め打ちだが、アップしてみた。

使用例

マージツールセレクタが起動

いずれかのボタンを押すことでマージツールが起動する。

MergeToolSelector01.png

P4Merge

P4Mergeを起動した例。
このような単純な例であれば、P4Mergeがdiffも見やすいしマージもし易い。

mts_p4merge01.png

emacs

単純でない場合には、普段使っているエディタで編集したいところ。自分の場合にはemacs。

mts_emacs01.png

設定方法

mergeToolSelector.bat %base %theirs %mine %merged %bname %tname %yname %mname

MergeToolSelectorSetting01.png

改善点

  • defaultのマージツール(自分の場合はP4Merge)が自動で起動するようにしておき、必要に応じて別のツールを選択起動できるような機能を盛り込みたい
  • さすがに決め打ちはどうかと思うので設定ファイルでマージツールのパスを指定できるようにする
  • その他のツールも指定できるようにする
    • TotoiseGitMerge や WinMerge とか
  • 引数も任意に指定できるようにして、より汎用的にしたい
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?