2018年1月14日日曜日

macOSでグラフィカルにdiffを見る

ふとmacOSでTkDiff的なものを使いたくなった。

まあ入っていないだろうと思いながらもターミナルでtkdiffと叩くと、予想通りそんなもんは入っていない。Homebrewでsearchしてみるとtkdiffのformulaがあったので、早速入れようかと思いながらも、Macっぽいツールはないかとググってみたところ、opendiffなるものがあることを知った。

Xcodeは99.9%コマンドラインツールしか使っていなかったので知らなかったのだけれど、XcodeにはFileMergeなる、グラフィカルな差分表示・マージツールが含まれていたそうで。opendiffはそれをコマンドラインから呼ぶだけのツール。使い方はSYNOPSISを見れば大体分かるだろう。

     opendiff file1 file2 [-ancestor ancestorFile] [-merge mergeFile]
     opendiff dir1 dir2 [-ancestor ancestorDirectory] [-merge mergeDirectory]
diffコマンドと違って-rオプションを付けなくても、ディレクトリ同士ならディレクトリ同士の比較をしてくれる。また、競合してしまった場合に-ancestorオプションでfile1, file2共通の変更元を指定できるのと、-mergeオプションでマージ結果の出力先を指定できる。

最大の弱点はzshの補完関数がないことだな。探せば誰か作っていそうな気がするけど。

0 件のコメント:

コメントを投稿