Thread (1 message) 1 message, 1 author, 2020-07-14

Re: Force git diff to create a binary patch?

From: Junio C Hamano <hidden>
Date: 2020-07-14 15:35:59

Jason Xu [off-list ref] writes:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help