diffの改行コードとかを無視する.svnのdiffでも.

はじめに

ファイルのdiffを取ると,改行コードが変わっていて全部差分として出ることがよくある.
svn diff とかでもよくある.

こんなパターンが多い.

  1. tabとスペースが違う.
  2. スペース(tab)の数が違う
  3. 改行コードが違う

こいつら,いい加減何とかならないかと思って調べてみた.

改行コードを無視する方法

調べてみたら,すぐ出てきた.

改行コード無視オプションを使えばいいらしい.
普通のdiffは

diff --strip-trailing-cr <file neme1> <file neme2>

svn で改行コード無視のdiffを行うときは

svn diff -x --ignore-eol-style <file name>

でいける.

diffのオプションたち

スペースとかを無視する方法はマニュアルに書いてあった.

-b, --ignore-space-change
スペースの数だけが違う場合には違いを無視する。不完全な行は無視される。
-i, --ignore-case
英大文字と小文字の違いを無視する。
-w, --ignore-all-space
行を比較するときスペースを無視する。不完全な行は無視される。
-E, --ignore-tab-expansion
タブ展開によるスペースの変更を無視する。

結論

基本的には

diff -E --strip-trailing-cr

でいいかなぁ.