Re: git log format documentation/manpage
From: René Scharfe <hidden>
Date: 2025-10-25 17:01:05
On 10/24/25 10:06 AM, David Moberg wrote:
Hi I'm trying to replicate the "oneline" log format and add notes to it. What I can't figure out: 1. What is the format string that corresponds to pretty format "oneline"?
--oneline on terminal: %C(auto)%h%(decorate) %s --oneline otherwise: %C(auto)%h %s --format=oneline on terminal: %C(auto)%H%(decorate) %s --format=oneline otherwise: %C(auto)%H %s The %(decorate) part also depends on the config setting log.decorate.
2. What is the placeholder for the title-line? By searching for "title-line" in `man git log` I couldn't find anything. Surely this is in here somewhere? Searching for `full-commit-message` also left me empty-handed.
%s for subject, %b for body, %B for the whole commit message (subject and body). Email terms because Git was developed for Linux and commits were exchanged on a mailing list, like we do here for Git.
3. How can I display notes (%N from `git notes add`) as in-line information (stripping away newlines at the end)?
I don't think that's currently possible. You might assume that %w (wrap) with a huge width would do it, but it doesn't.
How do I figure out the placeholders? Suggestion for manpage improvements: 1. the pretty formats (oneline, short, ...) should come with a (t)format string that it corresponds to. They will act as great examples.
Good idea. I would also prefer the named formats actually being implemented as these format strings instead of being hand-coded -- for clarity, simplicity and for proving that the placeholders are powerful enough.
2. Make sure the descriptions of the pretty formats ("<title-line>",
"<full-commit-message>", ...) are searchable.Expanding the current one-word descriptions, e.g., with synonyms, seems like a good idea. Care to send a doc patch? René