Skip to content

Commit 6c92972

Browse files
committed
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
2 parents a6605d7 + 000f97b commit 6c92972

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

builtin/commit.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,16 +1207,17 @@ int cmd_status(int argc, const char **argv, const char *prefix)
12071207
if (argc == 2 && !strcmp(argv[1], "-h"))
12081208
usage_with_options(builtin_status_usage, builtin_status_options);
12091209

1210-
if (null_termination && status_format == STATUS_FORMAT_LONG)
1211-
status_format = STATUS_FORMAT_PORCELAIN;
1212-
12131210
wt_status_prepare(&s);
12141211
gitmodules_config();
12151212
git_config(git_status_config, &s);
12161213
determine_whence(&s);
12171214
argc = parse_options(argc, argv, prefix,
12181215
builtin_status_options,
12191216
builtin_status_usage, 0);
1217+
1218+
if (null_termination && status_format == STATUS_FORMAT_LONG)
1219+
status_format = STATUS_FORMAT_PORCELAIN;
1220+
12201221
handle_untracked_files_arg(&s);
12211222
if (show_ignored_in_status)
12221223
s.show_ignored_files = 1;

t/t7508-status.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,13 @@ test_expect_success 'status -s submodule summary (clean submodule)' '
780780
test_cmp expect output
781781
'
782782

783+
test_expect_success 'status -z implies porcelain' '
784+
git status --porcelain |
785+
perl -pe "s/\012/\000/g" >expect &&
786+
git status -z >output &&
787+
test_cmp expect output
788+
'
789+
783790
cat >expect <<EOF
784791
# On branch master
785792
# Changes to be committed:

0 commit comments

Comments
 (0)