Hello,
I think I found a minor formatting bug when using the custom pretty format:
* What did you do before the bug happened? (Steps to reproduce your issue)
git log --pretty=format:'%h%Cred%+d test'
* What did you expect to happen? (Expected behavior)
A listing of commit hashes and, if ref names for this commit exist, a
second line.
This line should be colored in red and contain the ref names as well as
the string 'test'.
In the case of no refs, the string 'test' should appear in line with the
commit hash, also in red.
* What happened instead? (Actual behavior)
In case of ref names / a second line, the color is missing completely.
The colors work correctly for the single line case (when no ref names
are available).
* What's different between what you expected and what actually happened?
The %+d placeholder inserts newlines if the string is non-empty, but in
doing so, resets any coloring information.
This is demonstrated by the string 'test' which should always show in
red, but does so only if %+d is not expanded.
This makes it currently impossible to color anything with the %+
placeholder.
[System Info]
git version:
git version 2.35.1
cpu: x86_64
no commit associated with this build
sizeof-long: 8
sizeof-size_t: 8
shell-path: /bin/sh
uname: Linux 5.16.10-arch1-1 #1 SMP PREEMPT Wed, 16 Feb 2022 19:35:18
+0000 x86_64
compiler info: gnuc: 11.1
libc info: glibc: 2.35
$SHELL (typically, interactive shell): /bin/bash
[Enabled Hooks]