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

Re: Two bugs in --pretty with %C(auto)

From
Duy Nguyen <pclouds@gmail.com>
Date
Sep 19, 2016, 12:59 UTC
Message-ID
<CACsJy8BUT6wypU5yn4izCadEF0y32n4m9x8ZLgfod+HNfSZiqg@mail.gmail.com>
In-Reply-To
<db20ae0c-9c33-1e65-b201-1b6a9ed11340@web.de>
On Sun, Sep 18, 2016 at 1:25 AM, René Scharfe <l.s.r@web.de> wrote:
Show 38 quoted lines
> Am 17.09.2016 um 14:51 schrieb Anatoly Borodin:
>> Hi All!
>>
>> First bug:
>>
>>       git log -3 --pretty='%C(cyan)%C(auto)%h%C(auto)%d %s'
>>
>> prints %h with the default color (normal yellow), but
>>
>>       git log -3 --pretty='%C(bold cyan)%C(auto)%h%C(auto)%d %s'
>>
>> shows %h with bold yellow, as if only the color was reset, but not
>> the attributes (blink, ul, reverse also work this way). %d and %s are
>> printed with the right color both times.
>>
>> Second bug, maybe related to the first one:
>>
>>       git log -3 --pretty='%C(bold cyan)%h%C(auto)%d %s %an %h %h %s'
>>
>> The first line looks as expected. Well, almost: the '(' of %d is bold
>> yellow.
>>
>> The second line looks like this:
>>
>> * %h, %s, %an with bold cyan;
>> * %h with bold yellow;
>> * %h with normal yellow and %s with normal white (default colors).
>>
>> PS git version 2.9.2
>
> Well, in both cases you could add %Creset before %C(auto) to get what
> you want.
>
> I'm not sure how just how automatic %C(auto) is supposed to be, but you
> expected it do emit the reset for you, right?  Sounds reasonable to me.
> The following patch implements that behavior.
>
> Duy, what do you think?

Even though letting some attributes before %C(auto) through sounds interesting, I'd say it's a bit unpredictable, especially when the main usage of %C(auto) is %d which could use plenty of colors. So yes, your changes look good.

-- 
Duy
Previous: René ScharfeNext: René Scharfe
Message 5 of 7 in “Two bugs in --pretty with %C(auto)”
  1. Anatoly BorodinSep 17, 2016
  2. René ScharfeSep 17, 2016
  3. Anatoly BorodinSep 18, 2016
  4. René ScharfeSep 18, 2016
  5. Duy NguyenSep 19, 2016
  6. René ScharfeSep 29, 2016
  7. Anatoly BorodinOct 1, 2016

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.