Jeff King <peff@xxxxxxxx> writes: > The for-each-ref formatting code has %(if), but it's not unified with > the commit-format ones. > > So the best I could come up with is: > > git config pretty.twoline '%C(auto)%h %s%C(auto)%+d' > git log --format=twoline > > which looks like: > > 80ba04ed9 Merge branch 'svn-escape-backslash' of git://bogomips.org/git-svn > (origin/master, origin/HEAD) > 20769079d Git 2.12-rc2 > (tag: v2.12.0-rc2) > 076c05393 Hopefully the final batch of mini-topics before the final > c5b22b819 Merge branch 'jk/tempfile-ferror-fclose-confusion' > 62fef5c56 Merge branch 'dp/submodule-doc-markup-fix' > 1f73ff080 Merge branch 'jk/reset-to-break-a-commit-doc-updated' Yeah, I had a similar thought to use something around "%n%-d", but $ git log --format='%h%n%-d%C(auto) %s %C(auto)' is not it. I guess we could pile on another hack to make the sign between % and the format specifier cumulative and then "%n%-+d" may do what we want, but we need a true %(if)...%(then)...%(else)...%(end) support if we really want to do this thing properly.