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

Re: [PATCH 3/5] apply: only write intents to add for new files

From
Raymond E. Pasco <ray@ameretat.dev>
Date
Jul 1, 2025, 05:44 UTC
Message-ID
<vzkxbwj5khnlzx23p2jz2omf4nfzfaal25gwlovvwgzxi2mmjx@vijooguwndsj>
In-Reply-To
<xmqq7c0t12oz.fsf@gitster.g>
On 25/06/30 11:53AM, Junio C Hamano wrote:
Show 23 quoted lines
> "Raymond E. Pasco" <ray@ameretat.dev> writes:
> 
> > In the "update only the worktree" mode, the index should not be touched
> > except to record intents to add when --intent-to-add is on. Because
> > having --intent-to-add on sets update_index, to indicate that we are
> > touching the index, we can't rely only on that flag to decide whether to
> > write an index entry.
> 
> Does that let us inspect state->ita_only alone and conclude that
> state->update_index is set, though?  IOW ...
> 
> >  	if (patch->conflicted_threeway)
> >  		return add_conflicted_stages_file(state, patch);
> > -	else if (state->update_index)
> > +	else if (state->check_index || (state->ita_only && patch->is_new > 0))
> 
> ... I would have expected the new code to check not just ita_only but
> check ita_only only when update_index is in effect.
> 
> 
> >  		return add_index_file(state, path, mode, buf, size);
> >  	return 0;
> >  }

We're behind a more specific test on state->apply to enter this codepath at all (the only way in is the call to write_out_results around line 4859). So we're already committed to applying the patch, which is one half of update_index, but the other half is check_index || ita_only and we must behave differently depending on which of those is in effect and causing us to touch the index.

Previous: Junio C HamanoNext: Raymond E. Pasco
Message 10 of 25 in “fix apply --intent-to-add”
  1. 0/5 fix apply --intent-to-addRaymond E. Pasco, Jun 28, 2025
  2. 1/5 apply: error on --intent-to-add outside gitdirRaymond E. Pasco, Jun 28, 2025
  3. Junio C HamanoJun 30, 2025
  4. Raymond E. PascoJul 1, 2025
  5. 2/5 apply: read in the index in --intent-to-add modeRaymond E. Pasco, Jun 28, 2025
  6. Junio C HamanoJun 30, 2025
  7. Raymond E. PascoJul 1, 2025
  8. 3/5 apply: only write intents to add for new filesRaymond E. Pasco, Jun 28, 2025
  9. Junio C HamanoJun 30, 2025
  10. Raymond E. PascoJul 1, 2025
  11. 4/5 t4140: test apply --intent-to-add interactionsRaymond E. Pasco, Jun 28, 2025
  12. 5/5 apply docs: clarify wording for --intent-to-addRaymond E. Pasco, Jun 28, 2025
  13. Lidong YanJun 29, 2025
  14. Raymond E. PascoJun 30, 2025
  15. 0/4 fix apply --intent-to-addRaymond E. Pasco, Jul 2, 2025
  16. 1/4 apply: read in the index in --intent-to-add modeRaymond E. Pasco, Jul 2, 2025
  17. 2/4 apply: only write intents to add for new filesRaymond E. Pasco, Jul 2, 2025
  18. 3/4 t4140: test apply --intent-to-add interactionsRaymond E. Pasco, Jul 2, 2025
  19. 4/4 apply docs: clarify wording for --intent-to-addRaymond E. Pasco, Jul 2, 2025
  20. 0/4 fix apply --intent-to-addRaymond E. Pasco, Jul 7, 2025
  21. 1/4 apply: read in the index in --intent-to-add modeRaymond E. Pasco, Jul 7, 2025
  22. 2/4 apply: only write intents to add for new filesRaymond E. Pasco, Jul 7, 2025
  23. 3/4 t4140: test apply --intent-to-add interactionsRaymond E. Pasco, Jul 7, 2025
  24. 4/4 apply docs: clarify wording for --intent-to-addRaymond E. Pasco, Jul 7, 2025
  25. Junio C HamanoJul 7, 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.