threads / patch / 4877

patchformat-patch: Generate a newline between the subject header and the message body

Subject: [PATCH] format-patch: Generate a newline between the subject header and the message body

## tl;dr

One message between Jul 13, 2006 and Jul 13, 2006. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Robert Shearman· Jul 13, 2006, 22:17 UTC · lore
format-patch previously didn't generate a newline after a subject. This 
caused the diffstat to not be displayed in messages with only one line 
for the commit message.
This patch fixes this by adding a newline after the headers if a body 
hasn't been added.
Signed-off-by: Robert Shearman <rob@codeweavers.com>
---
  commit.c |   11 +++++++++--
  1 files changed, 9 insertions(+), 2 deletions(-)
Show changes to commit.c +9 −2
diff --git a/commit.c b/commit.c
index 522a6f3..6ac3bf7 100644
--- a/commit.c
+++ b/commit.c
@@ -655,6 +655,9 @@ unsigned long pretty_print_commit(enum c
 			continue;
 		}
 
+		if (!subject)
+			body = 1;
+
 		if (is_empty_line(line, &linelen)) {
 			if (!body)
 				continue;
@@ -662,8 +665,6 @@ unsigned long pretty_print_commit(enum c
 				continue;
 			if (fmt == CMIT_FMT_SHORT)
 				break;
-		} else {
-			body = 1;
 		}
 
 		if (subject) {
@@ -702,6 +703,12 @@ unsigned long pretty_print_commit(enum c
 	/* Make sure there is an EOLN for the non-oneline case */
 	if (fmt != CMIT_FMT_ONELINE)
 		buf[offset++] = '\n';
+	/*
+	 * make sure there is another EOLN to separate the headers from whatever
+	 * body the caller appends if we haven't already written a body
+	 */
+	if (fmt == CMIT_FMT_EMAIL && !body)
+		buf[offset++] = '\n';
 	buf[offset] = '\0';
 	return offset;
 }

← back to recent threads