From 95b9f9f927a7d9ea2bc2849b6ae624335e98362f Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Thu, 26 May 2011 13:43:20 -0700 Subject: t7508: demonstrate status's failure to use --porcelain format with -z When 'git status' is supplied the -z switch, and no output format has been selected, it is supposed to use the --porcelain format. This does not happen. Instead, the standard long format is used. Add a test to demonstrate this failure. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t7508-status.sh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 't/t7508-status.sh') diff --git a/t/t7508-status.sh b/t/t7508-status.sh index 1173dbb36..9bc9817f2 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -364,6 +364,13 @@ test_expect_success 'status submodule summary (clean submodule)' ' test_cmp expect output ' +test_expect_failure 'status -z implies porcelain' ' + git status --porcelain | + perl -pe "s/\012/\000/g" >expect && + git status -z >output && + test_cmp expect output +' + cat >expect < Date: Thu, 26 May 2011 13:43:21 -0700 Subject: builtin/commit.c: set status_format _after_ option parsing 'git status' should use --porcelain output format when -z is given. It was not doing so since the _effect_ of using -z, namely that null_termination would be set, was being checked _before_ option parsing was performed. So, move the check so that it is performed after option parsing. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t7508-status.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 't/t7508-status.sh') diff --git a/t/t7508-status.sh b/t/t7508-status.sh index 9bc9817f2..d4844abf1 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -364,7 +364,7 @@ test_expect_success 'status submodule summary (clean submodule)' ' test_cmp expect output ' -test_expect_failure 'status -z implies porcelain' ' +test_expect_success 'status -z implies porcelain' ' git status --porcelain | perl -pe "s/\012/\000/g" >expect && git status -z >output && -- cgit v1.2.1