Do we really always to CRLF conversion - even on binary files? Wouldn't this corrupt all checked-in jpegs? Even if the file contains e.g. a null byte in the first X bytes - something we used before to check for binary/non-binary files? Or have I overlooked a check here?

I always felt that the lack of git attributes which we could use to specify what is binary and what is not is the biggest obstacle why we didn't have autocrlf.