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

Re: [PATCH v2 3/3] builtin/add: error out when passing untracked path with -u

From
Ghanshyam Thakkar <shyamthakkar001@gmail.com>
Date
Apr 1, 2024, 13:27 UTC
Message-ID
<h7yk7nk7cwyv35reqzfy7brpbn3xoaarhudteyvxfpkodvltt2@eggaahzrjryq>
In-Reply-To
<xmqqh6gnmzqs.fsf@gitster.g>
On Sat, 30 Mar 2024, Junio C Hamano <gitster@pobox.com> wrote:
> So, it was a fairly pointless thing that I was wondering about.  The
> current behaviour, and the new behaviour with the new check, are
> fine as-is.

Well I think we should be going 'all-or-none' way as I can't think of any major user-facing command that does partial changes incase of error (besides two testcase below).

Show 16 quoted lines
> If we wanted to make it "all-or-none", I think the way to do so is
> to tweak the final part of the cmd_add() function to skip committing
> the updated index, e.g.,
> 
>          finish:
>         -	if (write_locked_index(&the_index, &lock_file,
>         +	if (exit_status)
>         +		fputs(_("not updating the index due to failure(s)\n"), stderr);
>         +	else if (write_locked_index(&the_index, &lock_file,
>                                        COMMIT_LOCK | SKIP_IF_UNCHANGED))
>                         die(_("unable to write new index file"));
>  
> And if/when we do so, the existing code (with or without the updates
> made by the topic under discussion) needs no change.  We can do all
> steps regardless of the errors we notice along the way with earlier
> steps, and discard the in-core index if we saw any errors.
Doing this, we would need to take care of atleast 4 tests breaking in
t3700-add:
 error out when attempting to add ignored ones but add others
 git add --ignore-errors
 git add (add.ignore-errors)
 git add --chmod fails with non regular files (but updates the other paths)

while ignore-errors ones would be trivial to fix, fixing other 2 would probably require some more than trivial code changes, as from the title, their behavior seems pretty much set in stone. That's why I did the 'goto cleanup' approach to not break these.

Thanks.
Show 6 quoted lines
> The renormalize() thing is not noticing unused pathspec elements,
> which we might want to fix, but I suspect it is far less commonly
> used mode of operation, so it may be OK to leave it to future
> follow-up series.
> 
> Thanks.
Previous: Junio C HamanoNext: Junio C Hamano
Message 30 of 31 in “fix certain cases of add and commit with untracked path not erroring out”
  1. 0/2 fix certain cases of add and commit with untracked path not erroring outGhanshyam Thakkar, Mar 18, 2024
  2. 1/2 builtin/commit: error out when passing untracked path with -iGhanshyam Thakkar, Mar 18, 2024
  3. Junio C HamanoMar 18, 2024
  4. 2/2 builtin/add: error out when passing untracked path with -uGhanshyam Thakkar, Mar 18, 2024
  5. Junio C HamanoMar 18, 2024
  6. 0/3 commit, add: error out when passing untracked pathGhanshyam Thakkar, Mar 29, 2024
  7. 0/3 commit, add: error out when passing untracked pathsGhanshyam Thakkar, Apr 2, 2024
  8. 0/3 commit,add: error out when passing untracked pathGhanshyam Thakkar, Apr 3, 2024
  9. 1/3 revision: optionally record matches with pathspec elementsGhanshyam Thakkar, Apr 3, 2024
  10. 2/3 builtin/commit: error out when passing untracked path with -iGhanshyam Thakkar, Apr 3, 2024
  11. 3/3 builtin/add: error out when passing untracked path with -uGhanshyam Thakkar, Apr 3, 2024
  12. 1/3 revision: optionally record matches with pathspec elementsGhanshyam Thakkar, Apr 2, 2024
  13. 2/3 builtin/commit: error out when passing untracked path with -iGhanshyam Thakkar, Apr 2, 2024
  14. Junio C HamanoApr 2, 2024
  15. Ghanshyam ThakkarApr 2, 2024
  16. 3/3 builtin/add: error out when passing untracked path with -uGhanshyam Thakkar, Apr 2, 2024
  17. Junio C HamanoApr 2, 2024
  18. Ghanshyam ThakkarApr 2, 2024
  19. 1/3 read-cache: optionally collect pathspec matching infoGhanshyam Thakkar, Mar 29, 2024
  20. Junio C HamanoMar 29, 2024
  21. Junio C HamanoMar 29, 2024
  22. Ghanshyam ThakkarMar 30, 2024
  23. Junio C HamanoMar 30, 2024
  24. 2/3 builtin/commit: error out when passing untracked path with -iGhanshyam Thakkar, Mar 29, 2024
  25. Junio C HamanoMar 29, 2024
  26. 3/3 builtin/add: error out when passing untracked path with -uGhanshyam Thakkar, Mar 29, 2024
  27. Junio C HamanoMar 29, 2024
  28. Ghanshyam ThakkarMar 30, 2024
  29. Junio C HamanoMar 30, 2024
  30. Ghanshyam ThakkarApr 1, 2024
  31. Junio C HamanoApr 1, 2024

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.