結論
Githubは ファイルの改行文字 が変わった場合、正しく差分として出せない場合がある。
検証
CRLF / LF / CR で改行されたダミーデータをが入っている、masterに対して
改行文字のみを変更する、PullRequestを複数投げて差分を見てみます。
色々なパターンがあると思いますが、今回は
CRLF -> LF
CR -> LF
の場合を検証してみます。
CRLF -> LF の場合
全ての行 が差分となっています。
最後の改行文字が変わったので、納得が出来ます。
windowsで作成したファイルを、Macで開いて編集し、上書きした時などは
エディタによっては起こりうるのではないでしょうか。
CR -> LF の場合
!?
なんだこれは!(ガタッ
何もしてないのにGitが壊れた!
いきなりこれです。
-[^M {^M "_id": "56aa0b7ee64843b8df9bd9bf",^M "index": 0,^M ...(略)
の様な、気の利いた差分は 一切出ません。
所感
改行コードぐらいGithub上で吸収して、変な差分出さないで欲しい。
あまり普段は意識する事が無い、ファイルの改行コードにも気をつけようと思いました。
お使いのエディタで、何かのショートカットが偶然押されてしまい
更に
ちょっとした作業だからと、git diffで差分を確認しないでcommit/pushした場合
とかに起こってしまう可能性があるかもしれません。
滅多に無いレアケースですが、偶然身の回りで起こって驚きました。
ご注意あれ。