Re: git log --encoding=HTML is not supported
From: Junio C Hamano <hidden>
Date: 2021-08-25 16:32:09
Jeff King [off-list ref] writes:
quoted hunk ↗ jump to hunk
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) ;-).