aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-10-26 13:14:51 -0700
committerJunio C Hamano <gitster@pobox.com>2016-10-26 13:14:51 -0700
commitd347fb6596f687521543f688667f53a772724d11 (patch)
treea3569fd098849812533d82657aee0681cd4e274c
parent78498729e4523d5ee32508262cc70d7a41097bc8 (diff)
parent98985c6911ca0d475ae7b4e5401e6eae58ed8489 (diff)
downloadgit-d347fb6596f687521543f688667f53a772724d11.tar.gz
git-d347fb6596f687521543f688667f53a772724d11.tar.xz
Merge branch 'jk/diff-submodule-diff-inline'
A recently graduated topic regressed "git rev-list --header" output, breaking "gitweb". This has been fixed. * jk/diff-submodule-diff-inline: rev-list: use hdr_termination instead of a always using a newline
-rw-r--r--builtin/rev-list.c2
-rwxr-xr-xt/t6000-rev-list-misc.sh14
2 files changed, 15 insertions, 1 deletions
diff --git a/builtin/rev-list.c b/builtin/rev-list.c
index 8479f6ed2..c43decda7 100644
--- a/builtin/rev-list.c
+++ b/builtin/rev-list.c
@@ -145,7 +145,7 @@ static void show_commit(struct commit *commit, void *data)
*/
if (buf.len && buf.buf[buf.len - 1] == '\n')
graph_show_padding(revs->graph);
- putchar('\n');
+ putchar(info->hdr_termination);
} else {
/*
* If the message buffer is empty, just show
diff --git a/t/t6000-rev-list-misc.sh b/t/t6000-rev-list-misc.sh
index 3e752ce03..969e4e9e5 100755
--- a/t/t6000-rev-list-misc.sh
+++ b/t/t6000-rev-list-misc.sh
@@ -100,4 +100,18 @@ 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' '
+ # We know that there is no Q in the true payload; names and
+ # addresses of the authors and the committers do not have
+ # any, and object names or header names do not, either.
+ git rev-list --header --max-count=2 HEAD |
+ nul_to_q |
+ grep "^Q" >actual &&
+ cat >expect <<-EOF &&
+ Q$(git rev-parse HEAD~1)
+ Q
+ EOF
+ test_cmp expect actual
+'
+
test_done