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

Re: [PATCH v2] builtin/rm.c: use die_errno() when system call fails

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 6, 2026, 19:44 UTC
Message-ID
<xmqqy0fnaooe.fsf@gitster.g>
In-Reply-To
<20260706191024.93788-1-gatlavishweshwarreddy26@gmail.com>
Gatla Vishweshwar Reddy <gatlavishweshwarreddy26@gmail.com> writes:
> When remove_file_from_index() fails, the errno value contains the
> reason for the failure.
Is that true?

Together with the subject that mentions "system call", I think the above is not quite right. Offhand I do not think of any system call or library call we make, whose failure that sets errnor would cause the callchain to return an error back to this caller.

Please show us a call graph that originates at this location that calls remove_file_from_index(), and identify which system/library call sets errno to cause this function return non-zero.

Otherwise, we would end up feeding an irrelevant garbage value in error and have die_errno() pick it up.

Show 22 quoted lines
> Using die() instead of die_errno() loses
> this information, making it harder to diagnose failures. Switch to
> die_errno() to include the system error message in the output.
>
> Signed-off-by: Gatla Vishweshwar Reddy <gatlavishweshwarreddy26@gmail.com>
> ---
>  builtin/rm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/builtin/rm.c b/builtin/rm.c
> index 081d0bc375..3f5e6e232d 100644
> --- a/builtin/rm.c
> +++ b/builtin/rm.c
> @@ -396,7 +396,7 @@ int cmd_rm(int argc,
>  			printf("rm '%s'\n", path);
>  
>  		if (remove_file_from_index(the_repository->index, path))
> -			die(_("git rm: unable to remove %s"), path);
> +			die_errno(_("git rm: unable to remove %s"), path);
>  	}
>  
>  	if (show_only)
Previous: Gatla Vishweshwar Reddy
Message 2 of 2 in “builtin/rm.c: use die_errno() when system call fails”
  1. builtin/rm.c: use die_errno() when system call failsGatla Vishweshwar Reddy, Jul 6, 2026
  2. Junio C HamanoJul 6, 2026

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.