Re: [PATCH v2] log-tree: use custom line terminator in line termination mode
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:53:41
Jan Krüger [off-list ref] writes:
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 <redacted> --- Here are two simple tests, for both format: and tformat: with -z.
Thanks for being thorough. Very much appreciated.
Having said that, are we sure that
printf "add bar\0initial"
works per specification, or merely works by accident in some
implementation?
In C, we have to write this as printf("add bar%cinitial", 0), and the
above makes my stomach feel a bit queasy.
Admittedly we have "printf "\0\0" in t6024 and we haven't seen anybody
complain for the past 6 years, so perhaps I shouldn't be worried too much
about this.
quoted hunk
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