[PATCH] --pretty=format: print fewer <unknown>s

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This makes empty bodies truly empty, and fills in the
default UTF-8 encoding for an empty encoding.

Signed-off-by: Jeff King <peff@xxxxxxxx>
---

I think this covers everything that might happen in common practice.

 commit.c                   |    6 ++++--
 t/t6006-rev-list-format.sh |   16 ++++++++--------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/commit.c b/commit.c
index 754d1b8..e4f1db5 100644
--- a/commit.c
+++ b/commit.c
@@ -895,8 +895,10 @@ static long format_commit_message(const struct commit *commit,
 				xstrndup(msg + i + 9, eol - i - 9);
 		i = eol;
 	}
-	if (msg[i])
-		table[IBODY].value = xstrdup(msg + i);
+	interp_set_entry(table, IBODY, msg[i] ? msg + i : "");
+
+	if (!table[IENCODING].value)
+		interp_set_entry(table, IENCODING, "UTF-8");
 	for (i = 0; i < ARRAY_SIZE(table); i++)
 		if (!table[i].value)
 			interp_set_entry(table, i, "<unknown>");
diff --git a/t/t6006-rev-list-format.sh b/t/t6006-rev-list-format.sh
index aab17fa..03ef6e0 100755
--- a/t/t6006-rev-list-format.sh
+++ b/t/t6006-rev-list-format.sh
@@ -79,9 +79,9 @@ EOF
 
 test_format encoding %e <<'EOF'
 commit 131a310eb913d107dd3c09a65d1651175898735d
-<unknown>
+UTF-8
 commit 86c75cfd708a0e5868dc876ed5b8bb66c80b4873
-<unknown>
+UTF-8
 EOF
 
 test_format subject %s <<'EOF'
@@ -93,9 +93,9 @@ EOF
 
 test_format body %b <<'EOF'
 commit 131a310eb913d107dd3c09a65d1651175898735d
-<unknown>
+
 commit 86c75cfd708a0e5868dc876ed5b8bb66c80b4873
-<unknown>
+
 EOF
 
 test_format colors %Credfoo%Cgreenbar%Cbluebaz%Cresetxyzzy <<'EOF'
@@ -121,9 +121,9 @@ test_format complex-encoding %e <<'EOF'
 commit f58db70b055c5718631e5c61528b28b12090cdea
 iso8859-1
 commit 131a310eb913d107dd3c09a65d1651175898735d
-<unknown>
+UTF-8
 commit 86c75cfd708a0e5868dc876ed5b8bb66c80b4873
-<unknown>
+UTF-8
 EOF
 
 test_format complex-subject %s <<'EOF'
@@ -142,9 +142,9 @@ and it will be encoded in iso8859-1. We should therefore
 include an iso8859 character: ¡bueno!
 
 commit 131a310eb913d107dd3c09a65d1651175898735d
-<unknown>
+
 commit 86c75cfd708a0e5868dc876ed5b8bb66c80b4873
-<unknown>
+
 EOF
 
 test_done
-- 
1.5.1.rc2.637.ge090-dirty
-
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]