threads / patch / 7459

patch--pretty=format: print fewer <unknown>s

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

## tl;dr

3 messages between Mar 28, 2007 and Mar 28, 2007. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Jeff King· Mar 28, 2007, 22:09 UTC · lore

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

Signed-off-by: Jeff King <peff@peff.net>
---
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(-)
Show changes to 2 files +12 −10

commit.c, t/t6006-rev-list-format.sh

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
Junio C Hamano· Mar 28, 2007, 22:13 UTC · re: Jeff King · lore

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

Jeff King <peff@peff.net> writes:
> This makes empty bodies truly empty, and fills in the
> default UTF-8 encoding for an empty encoding.

I do not think the latter is correct. Replacing with an empty string might make sense, although I haven't thought through the issues.

Jeff King· Mar 28, 2007, 22:17 UTC · re: Junio C Hamano · lore

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

On Wed, Mar 28, 2007 at 03:13:30PM -0700, Junio C Hamano wrote:
Show 6 quoted lines
> > This makes empty bodies truly empty, and fills in the
> > default UTF-8 encoding for an empty encoding.
> 
> I do not think the latter is correct.  Replacing with an empty
> string might make sense, although I haven't thought through the
> issues.

Fair enough. I originally put in an empty string, but tried to be (too) clever with UTF-8 (I was under the impression that commits without headers were assumed to be in UTF-8, unless there is some legacy override set). I'm fine with whatever makes sense, but I think printing <unknown> is silly: we _do_ know.

-Peff

← back to recent threads