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

Re: [PATCH 2/3] diff-format.txt: correct misleading wording

From
Philippe Blain <levraiphilippeblain@gmail.com>
Date
Jun 14, 2022, 12:31 UTC
Message-ID
<3ef61018-60fa-31a5-b5e6-a1feab3b7cf2@gmail.com>
In-Reply-To
<xmqqtu8o5r48.fsf@gitster.g>
Le 2022-06-13 à 14:56, Junio C Hamano a écrit :
Show 21 quoted lines
> "Philippe Blain via GitGitGadget" <gitgitgadget@gmail.com> writes:
> 
>> From: Philippe Blain <levraiphilippeblain@gmail.com>
>>
>> Near the end of the "Raw output format" section, an example shows the
>> output of 'git diff-files' for a tracked file modified on disk but not
>> yet added to the index. However the wording is:
>>
>>     <sha1> is shown as all 0's if a file is new on the filesystem
>>     and it is out of sync with the index.
>>
>> which is confusing since it can be understood to mean that 'file' is a
>> new, yet untracked file, in which case 'git diff-files' does not care
>> about it at all.
> 
> I do not think such an understanding is sensible, as "untracked
> file" cannot be "out of sync with the index", because even its stale
> version wouldn't be in the index if it is untracked.
> 
> But I agree that not all people are sensible, and it would be nicer
> if the documentation helped them, too ;-)

Well, call me not sensible then ;) When I read that, I had trouble understanding what was meant precisely because I had what you wrote in mind.

Show 28 quoted lines
> 
>> When this example was introduced all the way back in c64b9b8860
>> (Reference documentation for the core git commands., 2005-05-05), 'old'
>> and 'new' referred to the two entities being compared, depending on the
>> command being used (diff-index, diff-tree or diff-files - which at the
>> time were diff-cache, diff-tree and show-diff). The wording used at the
>> time was:
>>
>>     <new-sha1> is shown as all 0's if new is a file on the
>>     filesystem and it is out of sync with the cache.
> 
> Yeah, I remember this version of wording.
> 
>> Rework the introductory sentence of the example to instead refer to
>> 'sha1 for "dst"', which is what the text description above it uses, and
>> fix the wording so that we do not mention a "new file".
> 
> That's good.  We may need to upgrade them to 'object name' to wean
> ourselves away from SHA-1 but that should be a separate topic.
> 
>> While at it, also tweak the wording used in the description of the raw
>> format to explicitely state that all 0's are used for the destination
>> hash if the working tree is out of sync with the index, instead of the
>> more vague "look at worktree".
> 
> I am not sure if that is a good idea.  Those who understand what the
> "work tree out of sync with" phrase mean would understand "look at
> work tree" but the reverse would not be true.

I'm not sure I agree. Even looking at it from a grammatical perspective, "the hash is all zero if a path is unmerged, is a deletion or is out of sync with the index" makes more sense to me than "the hash is all zero if a path is unmerged, is a deletion or "look at worktree""...

Show 6 quoted lines
> 
> The other hunk about "new" -> "dst" is a good change regardless, but
> even there, "out of sync with" may need to be rewritten to make it
> easier to understand.  Is it different from "the index does not know
> the exact value (hence you need to look in the working tree if you
> really cared to find it out, perhaps with hash-object)"?
I think it's clear what is meant, I don't think we need to change it.
Thanks,
Philippe.
Previous: Junio C HamanoNext: Philippe Blain via GitGitGadget
Message 8 of 11 in “Fix a few documentation errors around the raw diff output”
  1. 0/3 Fix a few documentation errors around the raw diff outputPhilippe Blain via GitGitGadget, Jun 13, 2022
  2. 1/3 diff-format.txt: fix ancient copy-paste errorPhilippe Blain via GitGitGadget, Jun 13, 2022
  3. Junio C HamanoJun 13, 2022
  4. Junio C HamanoJun 13, 2022
  5. Philippe BlainJun 14, 2022
  6. 2/3 diff-format.txt: correct misleading wordingPhilippe Blain via GitGitGadget, Jun 13, 2022
  7. Junio C HamanoJun 13, 2022
  8. Philippe BlainJun 14, 2022
  9. 3/3 diff-index.txt: update raw output format in examplesPhilippe Blain via GitGitGadget, Jun 13, 2022
  10. Junio C HamanoJun 13, 2022
  11. Junio C HamanoJun 13, 2022

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.