Merge branch 'jk/maint-tformat-with-z'
"log -z --pretty=tformat:..." does not terminate each record with NUL and this is a beginning of an attempt to fix it. It still is not right but the patch does not make externally observable behaviour worse. By Jan Krüger (1) and Junio C Hamano (1) * jk/maint-tformat-with-z: log-tree: the previous one is still not quite right log-tree: use custom line terminator in line termination mode
This commit is contained in:
commit
43d1e41ea9
@ -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);
|
||||
|
@ -71,4 +71,32 @@ 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_expect_success 'NUL separation with --stat' '
|
||||
stat0_part=$(git diff --stat HEAD^ HEAD) &&
|
||||
stat1_part=$(git diff --stat --root HEAD^) &&
|
||||
printf "add bar\n$stat0_part\n\0initial\n$stat1_part\n" >expected &&
|
||||
git log -z --stat --pretty="format:%s" >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_failure 'NUL termination with --stat' '
|
||||
stat0_part=$(git diff --stat HEAD^ HEAD) &&
|
||||
stat1_part=$(git diff --stat --root HEAD^) &&
|
||||
printf "add bar\n$stat0_part\n\0initial\n$stat1_part\n\0" >expected &&
|
||||
git log -z --stat --pretty="tformat:%s" >actual &&
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user