svn diffで改行コード無視した上で、色付表示する
svn diffに色づけすることについては、以前のエントリーで3種類ほど、まとめてみた。 svn diff に色を付ける方法まとめ 中でも2番目に紹介しているcolordiffを利用する方法を愛用しているが、以下のような問題点がある。
- sjisのコードがdiffで文字化けする
- 改行コード無視の引数が使えない
1番目に関しては、nkfを使って、以下のようなスクリプトでcolordiffをラップしてやることで解消していた。
1 | #!/bin/bash |
ただし、2番目はそもそも.subversion/configに設定した外部プログラムに対して、svn diffコマンドがオプションパラメータまでは渡してくれないというのが原因なので、colordiffが対応していないのが当たり前なのであった。 ただ、デザイナーさんとかがcssの改行コードを全部CR+LFに書き換えてくることはよくあることなので、改行コード無視のsvn diffを見たいときは、svnのdiff設定をデフォルトに戻して、白黒で確認するという悲しい作業になっていた。 悲しいのは嫌なので、簡単なphpスクリプトを作ってみた。 https://github.com/hanhan1978/junks/blob/master/tools/colordiff.php 普段は改行コードを無視しないようになっているが、環境変数ignore_crを1とか設定してやれば、改行コード無視でdiffしてくれるようにした。 つーか、時代はgitだし、今更svnのエントリ書くなと言われそうだ・・・。