2007-03-20

エンコーディングが混ざっていても化けない diff

こんな感じ。

for i in `svn status | awk '$1 == "M" {print $NF}'`;
do svn diff $i | nkf ;
done | less

これは動作確認済み。

それかこんな感じ。

for i in `svn diff | awk '/^Index: / {print $2}'`;
do svn diff $i | nkf;
done | less

これはちゃんと確認してない。

というのも、上のものは最初から working copy に存在するファイル、ディレクトリしか処理対象にできないが、下の方法だと diff に -r を与えることで任意のタイミングの diff が取れる。でも本当に存在しないファイルやディレクトリに対して diff が取れるかどうかは確かめてないのです。

なんでこんなことしてるかというと、Trac 上でなぜか diff の見れない changset があるんだよね。たぶん Trac のバージョンが古いからなんだけど、上げる段取り(いろいろあるの)が面倒なので、手元で回避しちゃうのであった。

About

例によって個人のなんちゃらです