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

Re: Why does git diff-index show intent-to-add file as "Added"?

From
Pratyush Yadav <me@yadavpratyush.com>
Date
Oct 27, 2020, 12:09 UTC
Message-ID
<20201027120943.skmx6c3crbtu335o@yadavpratyush.com>
In-Reply-To
<xmqqimb88v35.fsf@gitster.c.googlers.com>
On 17/10/20 01:18PM, Junio C Hamano wrote:
Show 22 quoted lines
> Pratyush Yadav <me@yadavpratyush.com> writes:
> 
> > In this case, running diff-files gives:
> >
> >   :000000 100644 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 A	foo
> 
> Yes, it says "when comparing the index and the working tree, working
> tree side has it, and the index side does not, so it is an addition".
> 
> Of course, if it is truly a new file that the index does not even
> know about, we'd stay silent, but a path that are marked with i-t-a
> bit is what the user told us to keey an eye on, so that is what you
> would get.
> 
> > Running diff-index gives:
> >
> >   :000000 100644 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 A	foo
> 
> If this is "diff-index HEAD", then I think it is expected.  "when
> comparing the HEAD and the working tree, working tree side has it,
> and the tree side does not, so it is an addition."  Exactly the same
> story as "diff-files".
It is `git diff-index --cached HEAD`.
 
Show 8 quoted lines
> What should happen in "diff-index --cached HEAD", I offhand do not
> know.  "diff-index --cached HEAD" is a request to compare two trees,
> i.e. the tree that _would_ be produced if you wrote the index out as
> a tree (i.e. "git write-tree") right now, and the tree of HEAD.  So
> I think it may be sensible for the command to behave as if the i-t-a
> path does not even exist in the index when it is run with "--cached";
> I may be missing some subtleties that require us to do something
> different, but that is what I would think.

This is what I think too. Can we then treat this as a bug, and work on fixing it? Does any subsystem expert have any comments and/or provide extra context?

-- 
Regards,
Pratyush Yadav
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 6 in “Why does git diff-index show intent-to-add file as "Added"?”
  1. Pratyush YadavOct 17, 2020
  2. Junio C HamanoOct 17, 2020
  3. Phillip WoodOct 18, 2020
  4. Junio C HamanoOct 18, 2020
  5. Pratyush YadavOct 27, 2020
  6. Junio C HamanoOct 27, 2020

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.