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

[PATCH] rev-list: restore the NUL commit separator in --header mode

From
Dennis Kaarsemaker <dennis@kaarsemaker.net>
Date
Oct 19, 2016, 21:04 UTC
Message-ID
<20161019210448.aupphybw5qar6mqe@hurricane>
In-Reply-To
<1476908699.26043.9.camel@kaarsemaker.net>

Commit 660e113 (graph: add support for --line-prefix on all graph-aware output) changed the way commits were shown. Unfortunately this dropped the NUL between commits in --header mode. Restore the NUL and add a test for this feature.

Signed-off-by: Dennis Kaarsemaker <dennis@kaarsemaker.net>
---
 builtin/rev-list.c       | 4 ++++
 t/t6000-rev-list-misc.sh | 7 +++++++
 2 files changed, 11 insertions(+)
diff --git a/builtin/rev-list.c b/builtin/rev-list.c
index 8479f6e..cfa6a7d 100644
--- a/builtin/rev-list.c
+++ b/builtin/rev-list.c
@@ -157,6 +157,10 @@ static void show_commit(struct commit *commit, void *data)
 			if (revs->commit_format == CMIT_FMT_ONELINE)
 				putchar('\n');
 		}
+		if (revs->commit_format == CMIT_FMT_RAW) {
+			putchar(info->hdr_termination);
+		}
+
 		strbuf_release(&buf);
 	} else {
 		if (graph_show_remainder(revs->graph))
diff --git a/t/t6000-rev-list-misc.sh b/t/t6000-rev-list-misc.sh
index 3e752ce..a2acff3 100755
--- a/t/t6000-rev-list-misc.sh
+++ b/t/t6000-rev-list-misc.sh
@@ -100,4 +100,11 @@ test_expect_success '--bisect and --first-parent can not be combined' '
 	test_must_fail git rev-list --bisect --first-parent HEAD
 '
 
+test_expect_success '--header shows a NUL after each commit' '
+	touch expect &&
+	printf "\0" > expect &&
+	git rev-list --header --max-count=1 HEAD | tail -n1 >actual &&
+	test_cmp_bin expect actual
+'
+
 test_done
-- 
2.10.1-449-gab0f84c


-- 
Dennis Kaarsemaker <dennis@kaarsemaker.net>
http://twitter.com/seveas
Previous: Dennis KaarsemakerNext: Jacob Keller
Message 10 of 23 in “submodule inline diff format”
  1. 0/8 submodule inline diff formatJacob Keller, Aug 31, 2016
  2. 1/8 cache: add empty_tree_oid object and helper functionJacob Keller, Aug 31, 2016
  3. 8/8 diff: teach diff to display submodule difference with an inline diffJacob Keller, Aug 31, 2016
  4. 7/8 submodule: refactor show_submodule_summary with helper functionJacob Keller, Aug 31, 2016
  5. 6/8 submodule: convert show_submodule_summary to use struct object_id *Jacob Keller, Aug 31, 2016
  6. 5/8 allow do_submodule_path to work even if submodule isn't checked outJacob Keller, Aug 31, 2016
  7. 4/8 diff: prepare for additional submodule formatsJacob Keller, Aug 31, 2016
  8. 3/8 graph: add support for --line-prefix on all graph-aware outputJacob Keller, Aug 31, 2016
  9. Dennis KaarsemakerOct 19, 2016
  10. rev-list: restore the NUL commit separator in --header modeDennis Kaarsemaker, Oct 19, 2016
  11. Jacob KellerOct 19, 2016
  12. Junio C HamanoOct 19, 2016
  13. Keller, Jacob EOct 20, 2016
  14. Dennis KaarsemakerOct 20, 2016
  15. Junio C HamanoOct 19, 2016
  16. Dennis KaarsemakerOct 20, 2016
  17. Jacob KellerOct 20, 2016
  18. Junio C HamanoOct 20, 2016
  19. Torsten BögershausenOct 20, 2016
  20. Jacob KellerOct 19, 2016
  21. 2/8 diff.c: remove output_prefix_length fieldJacob Keller, Aug 31, 2016
  22. Stefan BellerAug 31, 2016
  23. Junio C HamanoSep 1, 2016

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.