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 <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
95b9f9f927
commit
000f97bd11
@ -1039,14 +1039,15 @@ int cmd_status(int argc, const char **argv, const char *prefix)
|
|||||||
OPT_END(),
|
OPT_END(),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (null_termination && status_format == STATUS_FORMAT_LONG)
|
|
||||||
status_format = STATUS_FORMAT_PORCELAIN;
|
|
||||||
|
|
||||||
wt_status_prepare(&s);
|
wt_status_prepare(&s);
|
||||||
git_config(git_status_config, &s);
|
git_config(git_status_config, &s);
|
||||||
argc = parse_options(argc, argv, prefix,
|
argc = parse_options(argc, argv, prefix,
|
||||||
builtin_status_options,
|
builtin_status_options,
|
||||||
builtin_status_usage, 0);
|
builtin_status_usage, 0);
|
||||||
|
|
||||||
|
if (null_termination && status_format == STATUS_FORMAT_LONG)
|
||||||
|
status_format = STATUS_FORMAT_PORCELAIN;
|
||||||
|
|
||||||
handle_untracked_files_arg(&s);
|
handle_untracked_files_arg(&s);
|
||||||
|
|
||||||
if (*argv)
|
if (*argv)
|
||||||
|
@ -364,7 +364,7 @@ test_expect_success 'status submodule summary (clean submodule)' '
|
|||||||
test_cmp expect output
|
test_cmp expect output
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_failure 'status -z implies porcelain' '
|
test_expect_success 'status -z implies porcelain' '
|
||||||
git status --porcelain |
|
git status --porcelain |
|
||||||
perl -pe "s/\012/\000/g" >expect &&
|
perl -pe "s/\012/\000/g" >expect &&
|
||||||
git status -z >output &&
|
git status -z >output &&
|
||||||
|
Loading…
Reference in New Issue
Block a user