Subject: Re: [PATCH v2 11/41] builtin/rm.c: use warning_errno()

From: Junio C Hamano <[email-masked]>
Date: Tue, 03 May 2016 12:58:42 -0700

Nguyễn Thái Ngọc Duy  <[email-masked]> writes:

> Signed-off-by: Nguyễn Thái Ngọc Duy <[email-masked]>
> ---
>  builtin/rm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/builtin/rm.c b/builtin/rm.c
> index 8829b09..13b9639 100644
> --- a/builtin/rm.c
> +++ b/builtin/rm.c
> @@ -152,7 +152,7 @@ static int check_local_mod(unsigned char *head, int index_only)
>  
>  		if (lstat(ce->name, &st) < 0) {
>  			if (errno != ENOENT && errno != ENOTDIR)
> -				warning("'%s': %s", ce->name, strerror(errno));
> +				warning_errno("'%s'", ce->name);
>  			/* It already vanished from the working tree */
>  			continue;

Not a new problem with this patch, but this would say

    warning: 'Makefile': Permission denied.

or whatever error we may happen to have hit.

I think we show strerror(errno) as an additional explanation and
there must be something _else_ that is the primary thing we would
want to say, e.g.

    warning: cannot remove 'Makefile': Permission denied.

Without that primary message from us, it looks somewhat wrong.