アーカイブ

2016-03-06

クロスプラットフォームな差分ツールにはKDiff3がオススメ

作業をしているとソースコードやデータの変更内容を確認したいときがある。こういうときに差分ツールを使う。WindowsとLinuxで共通して使えそうなものを探した。

クロスプラットフォームで自由な差分ツールは数が限られる。開発の活発さや利用者数から吟味すると、以下2ソフトが検討対象として残った。

  • Meld
  • KDiff3

MeldはGTK+、KDiff3はQt4ベースの差分ツールとなっており、機能としてはどちらも似たような印象だ。

MeldとKDiff3については以下に情報があった。

ざっと検索した限りだと、Meldのほうが情報が多く人気のようだ。しかし、実際にインストールして試したところ、以下の理由でKDiff3のほうがよいと判断した。

MeldをWindowsにインストールしても右クリックのコンテキストメニューに追加されない

実際に差分ツールを使うときにいちいちソフトを起動してファイルパスを選択してやるのは煩雑だ。右クリックでファイラーから即座に比較したい。KDiff3をWindowsにインストールすると右クリックのコンテキストメニューに専用メニューが追加され、即座に比較が可能だ。

なお、Windowsに絞っていいならWinMergeがよさそうだ。開発も活発でExcelやWordなどのオフィス文書の差分も取れる。WinMergeは3でクロスプラットホームになるらしい。けれど、開発は停止しているので期待はできない。

商用だが、無料なP4Mergeは少し人気がある(Gitのマージツールにp4mergeを使ってみた - wadahiroの日記)。

参考までに、差分ツールの比較調査結果を以下に記す。


差分ツールの比較



プラットフォーム 比較対象
○:対応、×:未対応、-:未調査
名前 最終更新日 ライセンス Linux Windows Mac MSOffice PDF 画像 ディレクトリ 編集 URL
Araxis Merge 2016-02-09 商用 × - - - http://www.araxis.com/merge/
Beyond Compare 2016-03-03 商用 - - - - http://www.scootersoftware.com/
DF 2007-09-04 フリーソフト × × - - - - × http://www.vector.co.jp/soft/win95/util/se113286.html
DiffMerge 2013-10-01 商用 - - - - - https://sourcegear.com/diffmerge/
Diffuse 2014-07-18 GPLv2+ - - - × - http://diffuse.sourceforge.net/
ECMerge 2015-12-02 商用 - - - http://www.elliecomputing.com/en/Home/default.asp
KDiff3 2014-07-04 GPLv2 - - - http://kdiff3.sourceforge.net/
Kompare 2015-10-17 GPLv2 - - - - × http://www.caffeinated.me.uk/kompare/
Meld 2015-12-12 GPLv2 - - - http://meldmerge.org/
Perforce P4Merge 2015-01-01 商用 - - - × - https://www.perforce.com/downloads/integrations
Rekisa 2009-04-16 フリーソフト × × - - - - - http://frozenlib.net/rekisa/
tkdiff 2011-11-27 GPLv2+ - - - - - https://sourceforge.net/projects/tkdiff/
WinMergeJP 2016-01-29 GPLv2 × × - - - - http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html
xdocdiff 2009-11-23 修正BSD × × - - - http://freemind.s57.xrea.com/xdocdiff/
xxdiff 2013-08-08 GPLv2 - - - - - http://furius.ca/xxdiff/

参考:

なお、Ubuntuではファイラーに標準のNautilusを使っていれば、拡張機能をインストールすることで右クリックのコンテキストメニューにメニューを追加できる(How to Add ‘File Compare’ to Ubuntu Nautilus Context Menu | UbuntuHandbook)。

以下のコマンドでnautilusの拡張機能をインストールしてNautilusを再起動すれば有効になる。

sudo apt-get install nautilus-compare
nautilus -q

差分ツールを変更したければ、nautlius-compareコマンドを実行して表示されるダイアログから変更できる。

2 件のコメント:

  1. > MeldをWindowsにインストールしても右クリックのコンテキストメニューに追加されない。
    Windowsの"送る"メニューに追加すればOKでは?
    meldは、マイナーな言語もシンタックスハイライトしてくれるので重宝しています。
    kdiff3より重いのが難点ですが。

    返信削除
    返信
    1. コメントありがとうございます。
      >> MeldをWindowsにインストールしても右クリックのコンテキストメニューに追加されない。
      >Windowsの"送る"メニューに追加すればOKでは?

      Meldを送るメニューに追加しても,複数ファイルの選択ができません。
      KDiff3であれば,[右クリック]→[KDiff3]→[Save ファイル名 for later]を選ぶことで,比較対象を記憶でき,他の場所のファイルとの比較もスムーズにできます。

      [右クリック]→[送る]メニューでファイルをMeldに送っても,同じファイルが両サイドに表示されるだけでした。2個目の比較対象は結局Meldのダイアログから選ばないといけないので,手間だと思いました。

      削除