From: Brandon Casey Date: Thu, 26 May 2011 20:43:21 +0000 (-0700) Subject: builtin/commit.c: set status_format _after_ option parsing X-Git-Tag: v1.7.6-rc1~6^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=000f97bd11e94fa8ede7fcdb43f5633997fed672;p=git.git 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 --- diff --git a/builtin-commit.c b/builtin-commit.c index f2fd0a458..9e7208f72 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -1039,14 +1039,15 @@ int cmd_status(int argc, const char **argv, const char *prefix) OPT_END(), }; - if (null_termination && status_format == STATUS_FORMAT_LONG) - status_format = STATUS_FORMAT_PORCELAIN; - wt_status_prepare(&s); git_config(git_status_config, &s); argc = parse_options(argc, argv, prefix, builtin_status_options, builtin_status_usage, 0); + + if (null_termination && status_format == STATUS_FORMAT_LONG) + status_format = STATUS_FORMAT_PORCELAIN; + handle_untracked_files_arg(&s); if (*argv) 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 &&