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

Re: [PATCH 3/3] Add "%w" to pretty formats, which rewraps the commit message

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 23, 2009, 23:19 UTC
Message-ID
<7v63b9gsg1.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20090923210055.GA25197@dualtron.vpn.rwth-aachen.de>
Johannes Gilger <heipei@hackvalue.de> writes:
Show 6 quoted lines
> ... One thing that bothers 
> me about the %w flag is that is includes subject and body, when we 
> already have atoms for both of these flags. So having a subject(x,y) and 
> body(x,y) tag (where x is indent and y is textwidth to be rewrapped) 
> would be nicer and more in the spirit of the existing format options 
> imho.

I do not particularly like this %w() either, and would prefer to see an equivalent solution using combination of %S(i,j,w) and %B(i,j,w). Your %B(n) can be extended to do the same as Johannes's wrapping variant when given three parameters and you can trivially do the same for %s to produce %S(n) and %S(i,j,w).

One issue %w() sidesteps is handing of single liner commit log messages (this is not a new issue your %B(n) introduces). "%s%n%b" will give us the original message only when the log has some contents in addition to the single-line summary. Otherwise we will get an extra blank line.

Perhaps we could extend the pretty-printer so that it understands %+x notation, which expands to %n%x when %x expands to a non-empty result, and otherwise it expands to empty, as a generic extension applicable to any format specifier 'x'. If we have such a notation, "%s%+b", would be a reasonable way to say "give us the original commit log message here", and we won't need %w(i,j,w) -- we can instead say %S(i,j,w)%+B(i,j,w), or %s%+B(i,j,w) depending on what you want.

Previous: Johannes GilgerNext: Junio C Hamano
Message 13 of 18 in “git-log --format: Add %B tag with %B(x) option”
  1. git-log --format: Add %B tag with %B(x) optionJohannes Gilger, Sep 17, 2009
  2. Junio C HamanoSep 17, 2009
  3. [PATCHv2] git-log --format: Add %B tag with %B(x) optionJohannes Gilger, Sep 18, 2009
  4. Junio C HamanoSep 18, 2009
  5. [PATCHv3] git-log --format: Add %B tag with %B(x) optionJohannes Gilger, Sep 19, 2009
  6. Junio C HamanoSep 22, 2009
  7. [PATCHv4] git-log --format: Add %B tag with %B(n) optionJohannes Gilger, Sep 22, 2009
  8. 0/3 Add a pretty format to rewrapping/indenting commit messagesJohannes Schindelin, Sep 23, 2009
  9. 1/3 print_wrapped_text(): allow hard newlinesJohannes Schindelin, Sep 23, 2009
  10. 2/3 Add strbuf_add_wrapped_text() to utf8.[ch]Johannes Schindelin, Sep 23, 2009
  11. 3/3 Add "%w" to pretty formats, which rewraps the commit messageJohannes Schindelin, Sep 23, 2009
  12. Johannes GilgerSep 23, 2009
  13. Junio C HamanoSep 23, 2009
  14. Junio C HamanoOct 5, 2009
  15. Linus TorvaldsSep 24, 2009
  16. Johannes SchindelinSep 24, 2009
  17. Johannes SchindelinSep 25, 2009
  18. Junio C HamanoOct 10, 2009

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.