Re: [PATCH] rev-list: use hdr_termination instead of a always using a newline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jacob Keller <jacob.e.keller@xxxxxxxxx> writes:

> diff --git a/t/t6000-rev-list-misc.sh b/t/t6000-rev-list-misc.sh
> index 3e752ce03280..e8c6979baf59 100755
> --- a/t/t6000-rev-list-misc.sh
> +++ b/t/t6000-rev-list-misc.sh
> @@ -4,6 +4,12 @@ test_description='miscellaneous rev-list tests'
>  
>  . ./test-lib.sh
>  
> +test_ends_with_nul() {
> +	printf "\0" >nul
> +	sed '$!d' "$@" >contents
> +	test_cmp_bin nul contents
> +}
> +
>  test_expect_success setup '
>  	echo content1 >wanted_file &&
>  	echo content2 >unwanted_file &&
> @@ -100,4 +106,9 @@ 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' '
> +	git rev-list --header --max-count=1 HEAD | sed \$!d >actual &&
> +	test_ends_with_nul actual
> +'
> +
>  test_done

Thanks.

The main part of the patch looks good.  For "passing NUL to sed",
I'd probably work it around like so:

 t/t6000-rev-list-misc.sh | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/t/t6000-rev-list-misc.sh b/t/t6000-rev-list-misc.sh
index e8c6979baf..737026c34f 100755
--- a/t/t6000-rev-list-misc.sh
+++ b/t/t6000-rev-list-misc.sh
@@ -4,12 +4,6 @@ test_description='miscellaneous rev-list tests'
 
 . ./test-lib.sh
 
-test_ends_with_nul() {
-	printf "\0" >nul
-	sed '$!d' "$@" >contents
-	test_cmp_bin nul contents
-}
-
 test_expect_success setup '
 	echo content1 >wanted_file &&
 	echo content2 >unwanted_file &&
@@ -107,8 +101,17 @@ test_expect_success '--bisect and --first-parent can not be combined' '
 '
 
 test_expect_success '--header shows a NUL after each commit' '
-	git rev-list --header --max-count=1 HEAD | sed \$!d >actual &&
-	test_ends_with_nul actual
+	# We know 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



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]