日本語 diff モドキ

ぐぐっても見つからなかったので、日本語の文字コードの違いを無視してくれる diff へのラッパーを書いてみました。

http://dl.dropbox.com/u/1340991/diffja/diffja.txt

内部で gnu diff を呼び出しますので、パスの通ったところに diff が必要です。また、実行には Ruby 1.8.x か 1.9.x が必要になります。

-r オプション (recursive)、--from-file オプション、--to-file オプションが指定されている場合は日本語関連の処理はせず、オリジナルの diff と同じ動作になります。

使用例

$ svn diff hoge.txt

としたときに、以前のバージョンの hoge.txt は CP932 で記述されていたのに、現在の hoge.txt は UTF-8 で記述されており、文字コード以外の違いを観察しづらい場合

$ svn diff --diff-cmd diffja hoge.txt

とすることで、文字コード以外の違いのみを表示することができます。*1

*1:もともとこの用途のために作ったラッパーですので、それ以外の用途についてのテストはほとんどしていません