Re: git log --encoding=HTML is not supported
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 25, 2021, 16:31 UTC
- Message-ID
- <xmqqeeahjxj4.fsf@gitster.g>
- In-Reply-To
- <YSWVi8uLHZCTtG0l@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 22 quoted lines
> We feed the encoding "HTML" to iconv_open(), which of course has no idea
> what that is. It's unfortunate, though, that we don't even print a
> warning, and instead just quietly leave the text intact. I wonder if we
> should do something like:
>
> diff --git a/pretty.c b/pretty.c
> index 535eb97fa6..708b618cfe 100644
> --- a/pretty.c
> +++ b/pretty.c
> @@ -672,7 +672,11 @@ const char *repo_logmsg_reencode(struct repository *r,
> * If the re-encoding failed, out might be NULL here; in that
> * case we just return the commit message verbatim.
> */
> - return out ? out : msg;
> + if (!out) {
> + warning("unable to reencode commit to '%s'", output_encoding);
> + return msg;
> + }
> + return out;
> }
>
> static int mailmap_name(const char **email, size_t *email_len,This addition sounds quite sensible to me.
"git log --encoding=bogus" would issue this warning for each and every commit and that may be a bit irritating, but being irritating may be a good characteristic for a warning message that is given to an easily correctable condition.
I originally thought that the warning would be lost to the pager, but apparently I forgot what I did eons ago at 61b80509 (sending errors to stdout under $PAGER, 2008-02-16) ;-).