git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] log-tree: use custom line terminator in line termination mode

From
Jan Krüger <jk@jk.gs>
Date
Apr 30, 2012, 20:28 UTC
Message-ID
<1335817705-24718-1-git-send-email-jk@jk.gs>
In-Reply-To
<7vaa1tf1w8.fsf@alter.siamese.dyndns.org>

When using a custom format in line termination mode (as opposed to line separation mode), the configured line terminator is not used, so things like "git log --pretty=tformat:%H -z" do not work properly.

Make it use the line terminator the user ordered.
Signed-off-by: Jan Krüger <jk@jk.gs>
---
 Here are two simple tests, for both format: and tformat: with -z.
 log-tree.c                    |    2 +-
 t/t4205-log-pretty-formats.sh |   12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/log-tree.c b/log-tree.c
index 34c49e7..44f0268 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -682,7 +682,7 @@ void show_log(struct rev_info *opt)
 	if (opt->use_terminator) {
 		if (!opt->missing_newline)
 			graph_show_padding(opt->graph);
-		putchar('\n');
+		putchar(opt->diffopt.line_termination);
 	}
 
 	strbuf_release(&msgbuf);
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index 2ae9faa..03a73ba 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -71,4 +71,16 @@ test_expect_success 'alias loop' '
 	test_must_fail git log --pretty=test-foo
 '
 
+printf "add bar\0initial" > expected
+test_expect_success 'NUL separation' '
+	git log -z --pretty="format:%s" >actual &&
+	test_cmp expected actual
+'
+
+printf "add bar\0initial\0" > expected
+test_expect_success 'NUL termination' '
+	git log -z --pretty="tformat:%s" >actual &&
+	test_cmp expected actual
+'
+
 test_done
-- 
1.7.10.406.g0017
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 17 in “git log -z still outputting newlines?”
  1. Randal L. SchwartzApr 30, 2012
  2. Andreas SchwabApr 30, 2012
  3. Thomas RastApr 30, 2012
  4. log-tree: use custom line terminator in line termination modeJan Krüger, Apr 30, 2012
  5. Junio C HamanoApr 30, 2012
  6. log-tree: use custom line terminator in line termination modeJan Krüger, Apr 30, 2012
  7. Junio C HamanoApr 30, 2012
  8. Jan KrügerApr 30, 2012
  9. Andreas SchwabMay 1, 2012
  10. Junio C HamanoMay 1, 2012
  11. Andreas SchwabMay 1, 2012
  12. Randal L. SchwartzMay 1, 2012
  13. Junio C HamanoMay 1, 2012
  14. Jeff KingMay 1, 2012
  15. Junio C HamanoMay 1, 2012
  16. Junio C HamanoMay 1, 2012
  17. Junio C HamanoMay 1, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.