git 1.5.5 で改行コードが変

msysgit を 1.5.4 から 1.5.5 にバージョンアップして git diff してみたら、ファイル全体が更新されてるような表示をされた。
変だとおもったら、改行コードが CRLF から LF になるみたい。
でも、新しい方のファイルも CRLF なんだけどな?
要調査。
そもそも 1.5.4 で、http://www.dont-panic.cc/capi/tag/git/ にあるような .git/hook/pre-commit の変更が必要だったんだろうか?
問題なかったんだけどなぁ。
上記のページにも書いてあるけれど、最近のパッチの autocrlf というものが原因みたい。
/etc/gitconfig を覗いてみると、autocrlf = true というのがあったので、とりあえず false にしてみると、ちゃんと差分の表示がされた。
う〜ん。
autocrlf = true として commit してみる。
とりあえずどちらの場合でも checkout した場合の改行コードは CRLF だった。
autocrlf = false でいくか、autocrlf = true にしてしまおうか……
ドキュメントを、もう少しちゃんと読んでみた。
autocrlf = true の場合は、CRLF の改行コードは LF に変換されてリポジトリへ格納される。
そして、checkout するときにプラットフォームごとに改行コードを判断して、必要であれば CRLF にしてくれる。
ということは、Windows で LF のファイルを格納したて、Windows で checkout すると CRLF のファイルになってしまう。
VSS と同じになったということかな……嫌だなぁ。
ということで autocrlf = false で使うことにしよう。
元々の改行コードの問題というやつは、遭遇してから考えることにする。