Thread (1 message) 1 message, 1 author, 2025-11-07

Re: [RFC PATCH] diff: add option to report binary files in raw diffs

From: Junio C Hamano <hidden>
Date: 2025-11-07 16:07:55

Torsten Bögershausen [off-list ref] writes:
git ls-files --eol option someone (Junio ?) convinced my to
use a TAB as a seperator.
In this case just before the filename:

git ls-file --eol | xxd 
00000000: 692f 6c66 2020 2020 772f 6c66 2020 2020  i/lf    w/lf    
00000010: 6174 7472 2f20 2020 2020 2020 2020 2020  attr/           
00000020: 2020 2020 2020 092e 6369 7272 7573 2e79        ..cirrus.y
                         ^^
00000030: 6d6c 0a                                   ml.

This makes the output both human readable and machine parsable:
All info is before the TAB here. (And may be parsed again in a second
round, if needed).
Thoughts ?
This brings up another interesting question: which command should
learn these new classifications.

The original desire "when I diff A and B, I cannot tell which one of
A or B had binary when I see 'binary file differs'" almost suggests
to me that 'diff' is a wrong place and rather they wanted to know "I
have A; now who is binary in there?"  Or "when I diff A and B with
pathspec P, I cannot tell..." is probably a wrong question to ask,
and the question may be "I have A; now who is binary in that tree
within pathspec P?"

IOW, "git show" or "git log", when showing a commit C in the
history, would give "that one is a binary" information as if it is
an attribute of the change between commit C and its parents, if you
tuck this new logic into the "diff" machinery.  I am not sure if
that is what we really want.  If we do so in "ls-tree" and allow
"git log" to show characteristics of each tree it encounters while
traversing the history, on the other hand, "that one is a binary"
would truly become an attribute of an entry in a tree, and it is not
affected by what is in the trees of the commits that are adjacent to
the commit in the history.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help