Johannes Gilger <heipei@xxxxxxxxxxxx> writes: > Since one can simply use spaces to indent any other --pretty field we > should have an option to do that with the body too. > > Also the %B flag strips the trailing newlines, to enable more compact > display. > > Signed-off-by: Johannes Gilger <heipei@xxxxxxxxxxxx> > --- > Changes to PATCHv2: > - Make %B() strict: Only nonnegative integers are allowed between the brackets, > everything else yields the placemark itself as output to indicate a wrong > argument. This also goes for an empty argument. > > Documentation/pretty-formats.txt | 2 ++ > pretty.c | 29 ++++++++++++++++++++++++----- > 2 files changed, 26 insertions(+), 5 deletions(-) > > diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt > index 2a845b1..533bc5e 100644 > --- a/Documentation/pretty-formats.txt > +++ b/Documentation/pretty-formats.txt > @@ -733,7 +737,20 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder, > format_sanitized_subject(sb, msg + c->subject_off); > return 1; > case 'b': /* body */ > - strbuf_addstr(sb, msg + c->body_off); > + strbuf_addstr(sb, body); > + return 1; > + case 'B': /* body without trailing newline */ > + if (end) { > + char *endp = NULL; > + int indent = strtol(placeholder + 2, &endp, 10); > + if (placeholder + 2 == endp || *endp != ')' || indent < 0) > + return 0; > + pp_remainder(CMIT_FMT_MEDIUM, &body, sb, indent); > + strbuf_rtrim(sb); > + return end - placeholder + 1; > + } > + strbuf_addstr(sb, body); > + strbuf_rtrim(sb); > return 1; > } > return 0; /* unknown placeholder */ > @@ -875,6 +892,8 @@ void pp_remainder(enum cmit_fmt fmt, > } > first = 0; > > + if (indent < 0) > + indent = 0; I'd move this check to the caller; other than that and some other small style issues I think this round is Ok. > strbuf_grow(sb, linelen + indent + 20); > if (indent) { > memset(sb->buf + sb->len, ' ', indent); > -- > 1.6.5.rc1.20.geb7d9 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html