Jason Xu <jasonx98@xxxxxxxxx> writes: >> The "--binary" option was invented as a way to tell Git to >> produce something that can be applied, where Git stopped at >> saying "binary files differ". > > Doesn't `--text` already do that? Albeit with whitespace warnings. I do not think so. --text is about forcing everything to be treated text, so you'll not see binary patches but the patch-looking thing with binary garbage you wrote in the message that started this thread. IOW, that is the opposite of what you want. And I agree that such a "diff -a" output is prone to corruption during transfer (e.g. over e-mail) and a way to tell exactly which paths should be shown as binary patches is a good thing to have. > That's why I propose better binary file detection, instead of (what I > understand to be) "make all patches in a patch file GIT binary > patches, regardless if a file is text". Oh, I agree that "treat everything as binary and produce binary patch for all paths" is a nonsense option no sane person would want to use. The users are better off exchanging bundles at that point, as such a binary-only patches are unreadable anyway. There is no "better detection"; the only thing you could get is "better heuristics" and there will always be a limit to what heuristics can do for you. And that is why you were given gitattributes very early in the discussion ;-) That is the mechanism to tell exactly which paths should be treated as binary.