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

Re: Possible bug: "git log" ignores "--encoding=UTF-8" option if --pretty=format:%e%n%s%n is used

From
Jeff King <peff@peff.net>
Date
Nov 13, 2008, 05:48 UTC
Message-ID
<20081113054850.GB5343@coredump.intra.peff.net>
In-Reply-To
<7vod0ki531.fsf@gitster.siamese.dyndns.org>
On Wed, Nov 12, 2008 at 09:10:26PM -0800, Junio C Hamano wrote:
> > What about "git rev-list --pretty=raw"? Is that also porcelain?
> 
> Does it re-encode?  I didn't check, but ideally it shouldn't (but I do not
> care too much either way, to be honest).
Yes, it uses the same pretty_print_commit routine as the "log".
Show 5 quoted lines
> > I would be curious to hear your take on our failure to respect
> > --encoding for --pretty=format. Is it a bug to be fixed, or a historical
> > behavior to be maintained?
> 
> I think the fix you outlined was quite reasonable.

One thing I just realized that makes it even more reasonable: we properly munge the encoding header when we _do_ re-encode. So whether we re-encode or not, you will always get the correct encoding for what is being output via "%e". Which means that a tool which handles the current "broken" behavior by re-encoding themselves will trivially handle the new version: the output will just always be in the --encoding specified instead of whatever the original encoding was.

And if there are tools that are not looking at the output encoding (and blindly assuming --encoding works), then they are already broken by the current behavior, and we will be fixing them.

So I think it is safe to "fix" it as I described.
-Peff
Previous: Junio C Hamano
Message 8 of 8 in “Possible bug: "git log" ignores "--encoding=UTF-8" option if --pretty=format:%e%n%s%n is used”
  1. Constantine PlotnikovNov 11, 2008
  2. Jeff KingNov 12, 2008
  3. Jeff KingNov 12, 2008
  4. Constantine PlotnikovNov 12, 2008
  5. Junio C HamanoNov 13, 2008
  6. Jeff KingNov 13, 2008
  7. Junio C HamanoNov 13, 2008
  8. Jeff KingNov 13, 2008

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.