古くから使われているdiffツールは、ファイルの変更箇所を正確に知るための情報を出力してくれるので、ソフトウェア開発に欠かすことができないツールといえるでしょう。しかしその表示はどちらかといえば機械向けで、人間が直感的に変更点を知るためには向いていないのかもしれません。
その欠点を補うために開発された新世代のdiffツールが「icdiff」です。変更前/変更後のソースコードを横に並べ、かつ変更箇所をハイライト表示してくれます(上の図のように)。
diffを置き換えるものではなく、補助する差分ツールとして便利に使えそうです。
インストール
Mac OS X / Linux用のインストール方法は以下の通り。
curl -s https://raw.githubusercontent.com/jeffkaufman/icdiff/master/icdiff \ | sudo tee /usr/local/bin/icdiff > /dev/null \ && sudo chmod ugo+rx /usr/local/bin/icdiff
rehashすると実行可能になります。
ターミナルから「icdiff 変更前ファイル 変更後ファイル2」と実行してみました。変更前ファイルから削除された箇所は赤い文字で、変更後ファイルに追加修正された箇所は緑の文字で表示されていることがわかります。
普通のdiffよりかなり分かりやすく表示されてますね!
gitと組み合わせることも
GitHubではgitと組合せて使用する方法も説明されています。以下のようにextcmdで指定するか、
git difftool --extcmd icdiff
「git-icdiff」(リポジトリに含まれています)をパスにコピーて、
git icdiff
と実行します。
よりより差分表示を求めている方は試してみてください。