読者です 読者をやめる 読者になる 読者になる

Linuxでグラフィカルに差分を取る

Windowsで差分を取るツールというとWinMergeがディファクトスタンダードと信じて疑わない私です。しかしながら、LinuxではしっくりくるGUIツールに巡り合えなかったので、vimdiffでシコシコと差分吸収に勤しんでおりました。


f:id:moguriso:20130210001830p:plain:w320


一応、WinMerge3というQtをベースにしてLinuxでも動作させることを目指したPJも立ち上がっているのですが、バイナリ配布はされておらず、Mergurialでのソース公開のみで、その昔試した時には空のWindowが1個立ち上がっただけな残念な状況でした。。。

解決策1:VM上でWindows起動してWinMerge使う

ここに来て差分ばっかり取り込んでいたら、大変おかしなことになってイライラしたのでWindowsXPをVMWareで立ち上げて無理やりWinMergeを使うという奇行に及んでしまいました。


f:id:moguriso:20130210004857p:plain:w320


使用感は当然ながらWindowsのWinMergeそのものなのである意味最強ですが、たかだかソースの差分を確認するだけにわざわざVMまで立ち上げるのは阿呆らし過ぎます。

解決策2&3:Linuxでグラフィカルに差分を取る

同じようなことを考える人は世界中にいるもので、StackOverflowに原題:Graphical DIFF programs for linuxというissueが上がっており、そこで紹介されていたmeldとdiffuseが割とWinMergeに近い感じで便利な様です。他にもKDiff3、emacs上でやるやつとか紹介されてますが、KDiff入れようとしたら200MBインストールするとか言われて憤慨したので却下、emacsは使っていないので違う意味で却下しました。

Meld

http://meldmerge.org/を見てもWinMergeとよく似ていて、Directoryの差分チェックもできます。使用感も悪くないんですが、Directory構成の違う2つを開いて差分チェックしていると高負荷になるのか処理が返ってこなくなる(フリーズする)ことが結構あります。

f:id:moguriso:20130210010841p:plain

diffuse

こちらはDirectoryの差分はとれないのですが、2ファイル間の差分チェックでは軽量で使いやすい印象です。
f:id:moguriso:20130210010858p:plain

結論

どちらも一長一短あって、絞るのは難しい感じです。git diff使えとかdiffで十分とかいう硬派な意見以外で自慢話をお持ちの方はぜひご一報くださいm(__)m