Merge branch 'bc/maint-status-z-to-use-porcelain'

* bc/maint-status-z-to-use-porcelain:
  builtin/commit.c: set status_format _after_ option parsing
  t7508: demonstrate status's failure to use --porcelain format with -z

Conflicts:
	builtin/commit.c
This commit is contained in:
Junio C Hamano 2011-06-06 11:40:08 -07:00
commit 6c92972d7f
2 changed files with 11 additions and 3 deletions

View file

@ -1207,9 +1207,6 @@ int cmd_status(int argc, const char **argv, const char *prefix)
if (argc == 2 && !strcmp(argv[1], "-h"))
usage_with_options(builtin_status_usage, builtin_status_options);
if (null_termination && status_format == STATUS_FORMAT_LONG)
status_format = STATUS_FORMAT_PORCELAIN;
wt_status_prepare(&s);
gitmodules_config();
git_config(git_status_config, &s);
@ -1217,6 +1214,10 @@ int cmd_status(int argc, const char **argv, const char *prefix)
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 (show_ignored_in_status)
s.show_ignored_files = 1;

View file

@ -780,6 +780,13 @@ test_expect_success 'status -s submodule summary (clean submodule)' '
test_cmp expect output
'
test_expect_success 'status -z implies porcelain' '
git status --porcelain |
perl -pe "s/\012/\000/g" >expect &&
git status -z >output &&
test_cmp expect output
'
cat >expect <<EOF
# On branch master
# Changes to be committed: