git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 7, 2025, 16:07 UTC
Message-ID
<xmqq7bw1hllz.fsf@gitster.g>
In-Reply-To
<20251107083015.GA18670@tb-raspi4>
Torsten Bögershausen <tboegi@web.de> writes:
Show 15 quoted lines
> 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.

Previous: Torsten BögershausenNext: Justin Tobler
Message 8 of 12 in “diff: add option to report binary files in raw diffs”
  1. diff: add option to report binary files in raw diffsJustin Tobler, Nov 4, 2025
  2. Junio C HamanoNov 4, 2025
  3. Junio C HamanoNov 4, 2025
  4. Justin ToblerNov 5, 2025
  5. Junio C HamanoNov 5, 2025
  6. Justin ToblerNov 6, 2025
  7. Torsten BögershausenNov 7, 2025
  8. Junio C HamanoNov 7, 2025
  9. Justin ToblerNov 7, 2025
  10. Junio C HamanoNov 7, 2025
  11. Ben KnobleNov 5, 2025
  12. Justin ToblerNov 6, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.