Skip excessive blank lines before commit body
This modifies pretty_print_commit() to make the output of git-rev-list and friends a bit more predictable. A commit body starting with blank lines might be unheard-of, but still possible to create using git-commit-tree (so is bound to appear somewhere, sometime). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
f3673988ec
commit
f3a47405bb
5
commit.c
5
commit.c
@ -703,7 +703,7 @@ unsigned long pretty_print_commit(enum cmit_fmt fmt,
|
|||||||
const char *after_subject,
|
const char *after_subject,
|
||||||
int relative_date)
|
int relative_date)
|
||||||
{
|
{
|
||||||
int hdr = 1, body = 0;
|
int hdr = 1, body = 0, seen_title = 0;
|
||||||
unsigned long offset = 0;
|
unsigned long offset = 0;
|
||||||
int indent = 4;
|
int indent = 4;
|
||||||
int parents_shown = 0;
|
int parents_shown = 0;
|
||||||
@ -809,6 +809,8 @@ unsigned long pretty_print_commit(enum cmit_fmt fmt,
|
|||||||
body = 1;
|
body = 1;
|
||||||
|
|
||||||
if (is_empty_line(line, &linelen)) {
|
if (is_empty_line(line, &linelen)) {
|
||||||
|
if (!seen_title)
|
||||||
|
continue;
|
||||||
if (!body)
|
if (!body)
|
||||||
continue;
|
continue;
|
||||||
if (subject)
|
if (subject)
|
||||||
@ -817,6 +819,7 @@ unsigned long pretty_print_commit(enum cmit_fmt fmt,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
seen_title = 1;
|
||||||
if (subject) {
|
if (subject) {
|
||||||
int slen = strlen(subject);
|
int slen = strlen(subject);
|
||||||
memcpy(buf + offset, subject, slen);
|
memcpy(buf + offset, subject, slen);
|
||||||
|
Reference in New Issue
Block a user