diff options
author | Jan Krüger <jk@jk.gs> | 2012-04-30 22:28:25 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-05-01 09:56:37 -0700 |
commit | 3e065308cab1ac0855bf19be8881def74bfcf7fc (patch) | |
tree | ac5dee72bc6339b858ade4b708686d56639e07d4 | |
parent | f174a2583c9f42315b60205890fa67a79a1f1669 (diff) | |
download | git-3e065308cab1ac0855bf19be8881def74bfcf7fc.tar.gz git-3e065308cab1ac0855bf19be8881def74bfcf7fc.tar.xz |
log-tree: use custom line terminator in line termination mode
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | log-tree.c | 2 | ||||
-rwxr-xr-x | t/t4205-log-pretty-formats.sh | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/log-tree.c b/log-tree.c index e9457019d..f4e2ba369 100644 --- a/log-tree.c +++ b/log-tree.c @@ -513,7 +513,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 2ae9faa8b..f00e44682 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 ' +test_expect_success 'NUL separation' ' + printf "add bar\0initial" >expected && + git log -z --pretty="format:%s" >actual && + test_cmp expected actual +' + +test_expect_success 'NUL termination' ' + printf "add bar\0initial\0" >expected && + git log -z --pretty="tformat:%s" >actual && + test_cmp expected actual +' + test_done |