3 # Copyright (c) 2007 Johannes E. Schindelin
6 test_description
='git status'
9 *MINGW
*) GIT_TEST_CMP
="diff -uw";;
14 test_expect_success
'status -h in broken repository' '
16 test_when_finished "rm -fr broken" &&
20 echo "[status] showuntrackedfiles = CORRUPT" >>.git/config &&
21 test_expect_code 129 git status -h >usage 2>&1
23 test_i18ngrep "[Uu]sage" broken/usage
26 test_expect_success
'commit -h in broken repository' '
28 test_when_finished "rm -fr broken" &&
32 echo "[status] showuntrackedfiles = CORRUPT" >>.git/config &&
33 test_expect_code 129 git commit -h >usage 2>&1
35 test_i18ngrep "[Uu]sage" broken/usage
38 test_expect_success
'setup' '
52 git commit -m initial &&
56 echo 1 >dir1/modified &&
57 echo 2 >dir2/modified &&
62 test_expect_success
'status (1)' '
63 test_i18ngrep "use \"git rm --cached <file>\.\.\.\" to unstage" output
68 # Changes to be committed:
69 # (use "git reset HEAD <file>..." to unstage)
71 # new file: dir2/added
73 # Changes not staged for commit:
74 # (use "git add <file>..." to update what will be committed)
75 # (use "git checkout -- <file>..." to discard changes in working directory)
77 # modified: dir1/modified
80 # (use "git add <file>..." to include in what will be committed)
90 test_expect_success
'status (2)' '
92 test_i18ncmp expect output
97 # Changes to be committed:
98 # new file: dir2/added
100 # Changes not staged for commit:
101 # modified: dir1/modified
112 test_expect_success
'status (advice.statusHints false)' '
113 test_when_finished "git config --unset advice.statusHints" &&
114 git config advice.statusHints false &&
115 git status >output &&
116 test_i18ncmp expect output
131 test_expect_success
'status -s' '
133 git status -s >output &&
134 test_cmp expect output
138 test_expect_success
'status with gitignore' '
146 cat >expect <<-\EOF &&
151 git status -s >output &&
152 test_cmp expect output &&
154 cat >expect <<-\EOF &&
165 git status -s --ignored >output &&
166 test_cmp expect output &&
168 cat >expect <<-\EOF &&
170 # Changes to be committed:
171 # (use "git reset HEAD <file>..." to unstage)
173 # new file: dir2/added
175 # Changes not staged for commit:
176 # (use "git add <file>..." to update what will be committed)
177 # (use "git checkout -- <file>..." to discard changes in working directory)
179 # modified: dir1/modified
182 # (use "git add <file>..." to include in what will be committed)
186 # (use "git add -f <file>..." to include in what will be committed)
195 git status --ignored >output &&
196 test_cmp expect output
199 test_expect_success
'status with gitignore (nothing untracked)' '
203 echo "dir2/modified" &&
208 cat >expect <<-\EOF &&
212 git status -s >output &&
213 test_cmp expect output &&
215 cat >expect <<-\EOF &&
226 git status -s --ignored >output &&
227 test_cmp expect output &&
229 cat >expect <<-\EOF &&
231 # Changes to be committed:
232 # (use "git reset HEAD <file>..." to unstage)
234 # new file: dir2/added
236 # Changes not staged for commit:
237 # (use "git add <file>..." to update what will be committed)
238 # (use "git checkout -- <file>..." to discard changes in working directory)
240 # modified: dir1/modified
243 # (use "git add -f <file>..." to include in what will be committed)
253 git status --ignored >output &&
254 test_cmp expect output
271 test_expect_success
'status -s -b' '
273 git status -s -b >output &&
274 test_cmp expect output
278 test_expect_success
'setup dir3' '
280 : >dir3/untracked1 &&
286 # Changes to be committed:
287 # (use "git reset HEAD <file>..." to unstage)
289 # new file: dir2/added
291 # Changes not staged for commit:
292 # (use "git add <file>..." to update what will be committed)
293 # (use "git checkout -- <file>..." to discard changes in working directory)
295 # modified: dir1/modified
297 # Untracked files not listed (use -u option to show untracked files)
299 test_expect_success
'status -uno' '
300 git status -uno >output &&
301 test_i18ncmp expect output
304 test_expect_success
'status (status.showUntrackedFiles no)' '
305 git config status.showuntrackedfiles no
306 test_when_finished "git config --unset status.showuntrackedfiles" &&
307 git status >output &&
308 test_i18ncmp expect output
313 # Changes to be committed:
314 # new file: dir2/added
316 # Changes not staged for commit:
317 # modified: dir1/modified
319 # Untracked files not listed
321 git config advice.statusHints false
322 test_expect_success
'status -uno (advice.statusHints false)' '
323 git status -uno >output &&
324 test_i18ncmp expect output
326 git config
--unset advice.statusHints
332 test_expect_success
'status -s -uno' '
333 git status -s -uno >output &&
334 test_cmp expect output
337 test_expect_success
'status -s (status.showUntrackedFiles no)' '
338 git config status.showuntrackedfiles no
339 git status -s >output &&
340 test_cmp expect output
345 # Changes to be committed:
346 # (use "git reset HEAD <file>..." to unstage)
348 # new file: dir2/added
350 # Changes not staged for commit:
351 # (use "git add <file>..." to update what will be committed)
352 # (use "git checkout -- <file>..." to discard changes in working directory)
354 # modified: dir1/modified
357 # (use "git add <file>..." to include in what will be committed)
367 test_expect_success
'status -unormal' '
368 git status -unormal >output &&
369 test_i18ncmp expect output
372 test_expect_success
'status (status.showUntrackedFiles normal)' '
373 git config status.showuntrackedfiles normal
374 test_when_finished "git config --unset status.showuntrackedfiles" &&
375 git status >output &&
376 test_i18ncmp expect output
390 test_expect_success
'status -s -unormal' '
391 git status -s -unormal >output &&
392 test_cmp expect output
395 test_expect_success
'status -s (status.showUntrackedFiles normal)' '
396 git config status.showuntrackedfiles normal
397 git status -s >output &&
398 test_cmp expect output
403 # Changes to be committed:
404 # (use "git reset HEAD <file>..." to unstage)
406 # new file: dir2/added
408 # Changes not staged for commit:
409 # (use "git add <file>..." to update what will be committed)
410 # (use "git checkout -- <file>..." to discard changes in working directory)
412 # modified: dir1/modified
415 # (use "git add <file>..." to include in what will be committed)
426 test_expect_success
'status -uall' '
427 git status -uall >output &&
428 test_i18ncmp expect output
431 test_expect_success
'status (status.showUntrackedFiles all)' '
432 git config status.showuntrackedfiles all
433 test_when_finished "git config --unset status.showuntrackedfiles" &&
434 git status >output &&
435 test_i18ncmp expect output
438 test_expect_success
'teardown dir3' '
452 test_expect_success
'status -s -uall' '
453 git config --unset status.showuntrackedfiles
454 git status -s -uall >output &&
455 test_cmp expect output
457 test_expect_success
'status -s (status.showUntrackedFiles all)' '
458 git config status.showuntrackedfiles all
459 git status -s >output &&
461 git config --unset status.showuntrackedfiles &&
462 test_cmp expect output
467 # Changes to be committed:
468 # (use "git reset HEAD <file>..." to unstage)
470 # new file: ../dir2/added
472 # Changes not staged for commit:
473 # (use "git add <file>..." to update what will be committed)
474 # (use "git checkout -- <file>..." to discard changes in working directory)
479 # (use "git add <file>..." to include in what will be committed)
489 test_expect_success
'status with relative paths' '
490 (cd dir1 && git status) >output &&
491 test_i18ncmp expect output
504 test_expect_success
'status -s with relative paths' '
506 (cd dir1 && git status -s) >output &&
507 test_cmp expect output
522 test_expect_success
'status --porcelain ignores relative paths setting' '
524 (cd dir1 && git status --porcelain) >output &&
525 test_cmp expect output
529 test_expect_success
'setup unique colors' '
531 git config status.color.untracked blue &&
532 git config status.color.branch green
537 # On branch <GREEN>master<RESET>
538 # Changes to be committed:
539 # (use "git reset HEAD <file>..." to unstage)
541 # <GREEN>new file: dir2/added<RESET>
543 # Changes not staged for commit:
544 # (use "git add <file>..." to update what will be committed)
545 # (use "git checkout -- <file>..." to discard changes in working directory)
547 # <RED>modified: dir1/modified<RESET>
550 # (use "git add <file>..." to include in what will be committed)
552 # <BLUE>dir1/untracked<RESET>
553 # <BLUE>dir2/modified<RESET>
554 # <BLUE>dir2/untracked<RESET>
555 # <BLUE>expect<RESET>
556 # <BLUE>output<RESET>
557 # <BLUE>untracked<RESET>
560 test_expect_success
'status with color.ui' '
561 git config color.ui always &&
562 test_when_finished "git config --unset color.ui" &&
563 git status | test_decode_color >output &&
564 test_i18ncmp expect output
567 test_expect_success
'status with color.status' '
568 git config color.status always &&
569 test_when_finished "git config --unset color.status" &&
570 git status | test_decode_color >output &&
571 test_i18ncmp expect output
575 <RED
>M
<RESET
> dir
1/modified
576 <GREEN
>A
<RESET
> dir
2/added
577 <BLUE
>??
<RESET
> dir
1/untracked
578 <BLUE
>??
<RESET
> dir
2/modified
579 <BLUE
>??
<RESET
> dir
2/untracked
580 <BLUE
>??
<RESET
> expect
581 <BLUE
>??
<RESET
> output
582 <BLUE
>??
<RESET
> untracked
585 test_expect_success
'status -s with color.ui' '
587 git config color.ui always &&
588 git status -s | test_decode_color >output &&
589 test_cmp expect output
593 test_expect_success
'status -s with color.status' '
595 git config --unset color.ui &&
596 git config color.status always &&
597 git status -s | test_decode_color >output &&
598 test_cmp expect output
603 ## <GREEN>master<RESET>
604 <RED
>M
<RESET
> dir
1/modified
605 <GREEN
>A
<RESET
> dir
2/added
606 <BLUE
>??
<RESET
> dir
1/untracked
607 <BLUE
>??
<RESET
> dir
2/modified
608 <BLUE
>??
<RESET
> dir
2/untracked
609 <BLUE
>??
<RESET
> expect
610 <BLUE
>??
<RESET
> output
611 <BLUE
>??
<RESET
> untracked
614 test_expect_success
'status -s -b with color.status' '
616 git status -s -b | test_decode_color >output &&
617 test_cmp expect output
632 test_expect_success
'status --porcelain ignores color.ui' '
634 git config --unset color.status &&
635 git config color.ui always &&
636 git status --porcelain | test_decode_color >output &&
637 test_cmp expect output
641 test_expect_success
'status --porcelain ignores color.status' '
643 git config --unset color.ui &&
644 git config color.status always &&
645 git status --porcelain | test_decode_color >output &&
646 test_cmp expect output
650 # recover unconditionally from color tests
651 git config
--unset color.status
652 git config
--unset color.ui
654 test_expect_success
'status --porcelain ignores -b' '
656 git status --porcelain -b >output &&
657 test_cmp expect output
663 # Changes to be committed:
664 # (use "git reset HEAD <file>..." to unstage)
666 # new file: dir2/added
668 # Changes not staged for commit:
669 # (use "git add <file>..." to update what will be committed)
670 # (use "git checkout -- <file>..." to discard changes in working directory)
672 # modified: dir1/modified
675 # (use "git add <file>..." to include in what will be committed)
686 test_expect_success
'status without relative paths' '
688 git config status.relativePaths false &&
689 test_when_finished "git config --unset status.relativePaths" &&
690 (cd dir1 && git status) >output &&
691 test_i18ncmp expect output
706 test_expect_success
'status -s without relative paths' '
708 git config status.relativePaths false &&
709 test_when_finished "git config --unset status.relativePaths" &&
710 (cd dir1 && git status -s) >output &&
711 test_cmp expect output
717 # Changes to be committed:
718 # (use "git reset HEAD <file>..." to unstage)
720 # modified: dir1/modified
723 # (use "git add <file>..." to include in what will be committed)
731 test_expect_success
'dry-run of partial commit excluding new file in index' '
732 git commit --dry-run dir1/modified >output &&
733 test_i18ncmp expect output
737 :100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M dir1/modified
739 test_expect_success
'status refreshes the index' '
742 git diff-files >output &&
743 test_cmp expect output
746 test_expect_success
'setup status submodule summary' '
747 test_create_repo sm && (
751 git commit -m "Add foo"
758 # Changes to be committed:
759 # (use "git reset HEAD <file>..." to unstage)
761 # new file: dir2/added
764 # Changes not staged for commit:
765 # (use "git add <file>..." to update what will be committed)
766 # (use "git checkout -- <file>..." to discard changes in working directory)
768 # modified: dir1/modified
771 # (use "git add <file>..." to include in what will be committed)
780 test_expect_success
'status submodule summary is disabled by default' '
781 git status >output &&
782 test_i18ncmp expect output
785 # we expect the same as the previous test
786 test_expect_success
'status --untracked-files=all does not show submodule' '
787 git status --untracked-files=all >output &&
788 test_i18ncmp expect output
802 test_expect_success
'status -s submodule summary is disabled by default' '
803 git status -s >output &&
804 test_cmp expect output
807 # we expect the same as the previous test
808 test_expect_success
'status -s --untracked-files=all does not show submodule' '
809 git status -s --untracked-files=all >output &&
810 test_cmp expect output
813 head=$
(cd sm
&& git rev-parse
--short=7 --verify HEAD
)
817 # Changes to be committed:
818 # (use "git reset HEAD <file>..." to unstage)
820 # new file: dir2/added
823 # Changes not staged for commit:
824 # (use "git add <file>..." to update what will be committed)
825 # (use "git checkout -- <file>..." to discard changes in working directory)
827 # modified: dir1/modified
829 # Submodule changes to be committed:
831 # * sm 0000000...$head (1):
835 # (use "git add <file>..." to include in what will be committed)
844 test_expect_success
'status submodule summary' '
845 git config status.submodulesummary 10 &&
846 git status >output &&
847 test_i18ncmp expect output
861 test_expect_success
'status -s submodule summary' '
862 git status -s >output &&
863 test_cmp expect output
868 # Changes not staged for commit:
869 # (use "git add <file>..." to update what will be committed)
870 # (use "git checkout -- <file>..." to discard changes in working directory)
872 # modified: dir1/modified
875 # (use "git add <file>..." to include in what will be committed)
883 no changes added to commit (use "git add" and/or "git commit -a")
885 test_expect_success
'status submodule summary (clean submodule): commit' '
886 git commit -m "commit submodule" &&
887 git config status.submodulesummary 10 &&
888 test_must_fail git commit --dry-run >output &&
889 test_i18ncmp expect output &&
890 git status >output &&
891 test_i18ncmp expect output
903 test_expect_success
'status -s submodule summary (clean submodule)' '
904 git status -s >output &&
905 test_cmp expect output
908 test_expect_success
'status -z implies porcelain' '
909 git status --porcelain |
910 perl -pe "s/\012/\000/g" >expect &&
911 git status -z >output &&
912 test_cmp expect output
917 # Changes to be committed:
918 # (use "git reset HEAD^1 <file>..." to unstage)
920 # new file: dir2/added
923 # Changes not staged for commit:
924 # (use "git add <file>..." to update what will be committed)
925 # (use "git checkout -- <file>..." to discard changes in working directory)
927 # modified: dir1/modified
929 # Submodule changes to be committed:
931 # * sm 0000000...$head (1):
935 # (use "git add <file>..." to include in what will be committed)
944 test_expect_success
'commit --dry-run submodule summary (--amend)' '
945 git config status.submodulesummary 10 &&
946 git commit --dry-run --amend >output &&
947 test_i18ncmp expect output
950 test_expect_success POSIXPERM
,SANITY
'status succeeds in a read-only repository' '
953 # make dir1/tracked stat-dirty
954 >dir1/tracked1 && mv -f dir1/tracked1 dir1/tracked &&
955 git status -s >output &&
956 ! grep dir1/tracked output &&
957 # make sure "status" succeeded without writing index out
958 git diff-files | grep dir1/tracked
965 (cd sm
&& echo > bar
&& git add bar
&& git commit
-q -m 'Add bar') && git add sm
966 new_head
=$
(cd sm
&& git rev-parse
--short=7 --verify HEAD
)
971 # Changes to be committed:
972 # (use "git reset HEAD <file>..." to unstage)
976 # Changes not staged for commit:
977 # (use "git add <file>..." to update what will be committed)
978 # (use "git checkout -- <file>..." to discard changes in working directory)
980 # modified: dir1/modified
982 # Submodule changes to be committed:
984 # * sm $head...$new_head (1):
988 # (use "git add <file>..." to include in what will be committed)
999 test_expect_success
'--ignore-submodules=untracked suppresses submodules with untracked content' '
1000 echo modified sm/untracked &&
1001 git status --ignore-submodules=untracked >output &&
1002 test_i18ncmp expect output
1005 test_expect_success
'.gitmodules ignore=untracked suppresses submodules with untracked content' '
1006 git config diff.ignoreSubmodules dirty &&
1007 git status >output &&
1008 test_i18ncmp expect output &&
1009 git config --add -f .gitmodules submodule.subname.ignore untracked &&
1010 git config --add -f .gitmodules submodule.subname.path sm &&
1011 git status >output &&
1012 test_i18ncmp expect output &&
1013 git config -f .gitmodules --remove-section submodule.subname &&
1014 git config --unset diff.ignoreSubmodules
1017 test_expect_success
'.git/config ignore=untracked suppresses submodules with untracked content' '
1018 git config --add -f .gitmodules submodule.subname.ignore none &&
1019 git config --add -f .gitmodules submodule.subname.path sm &&
1020 git config --add submodule.subname.ignore untracked &&
1021 git config --add submodule.subname.path sm &&
1022 git status >output &&
1023 test_i18ncmp expect output &&
1024 git config --remove-section submodule.subname &&
1025 git config --remove-section -f .gitmodules submodule.subname
1028 test_expect_success
'--ignore-submodules=dirty suppresses submodules with untracked content' '
1029 git status --ignore-submodules=dirty >output &&
1030 test_i18ncmp expect output
1033 test_expect_success
'.gitmodules ignore=dirty suppresses submodules with untracked content' '
1034 git config diff.ignoreSubmodules dirty &&
1035 git status >output &&
1037 git config --add -f .gitmodules submodule.subname.ignore dirty &&
1038 git config --add -f .gitmodules submodule.subname.path sm &&
1039 git status >output &&
1040 test_i18ncmp expect output &&
1041 git config -f .gitmodules --remove-section submodule.subname &&
1042 git config --unset diff.ignoreSubmodules
1045 test_expect_success
'.git/config ignore=dirty suppresses submodules with untracked content' '
1046 git config --add -f .gitmodules submodule.subname.ignore none &&
1047 git config --add -f .gitmodules submodule.subname.path sm &&
1048 git config --add submodule.subname.ignore dirty &&
1049 git config --add submodule.subname.path sm &&
1050 git status >output &&
1051 test_i18ncmp expect output &&
1052 git config --remove-section submodule.subname &&
1053 git config -f .gitmodules --remove-section submodule.subname
1056 test_expect_success
'--ignore-submodules=dirty suppresses submodules with modified content' '
1057 echo modified >sm/foo &&
1058 git status --ignore-submodules=dirty >output &&
1059 test_i18ncmp expect output
1062 test_expect_success
'.gitmodules ignore=dirty suppresses submodules with modified content' '
1063 git config --add -f .gitmodules submodule.subname.ignore dirty &&
1064 git config --add -f .gitmodules submodule.subname.path sm &&
1065 git status >output &&
1066 test_i18ncmp expect output &&
1067 git config -f .gitmodules --remove-section submodule.subname
1070 test_expect_success
'.git/config ignore=dirty suppresses submodules with modified content' '
1071 git config --add -f .gitmodules submodule.subname.ignore none &&
1072 git config --add -f .gitmodules submodule.subname.path sm &&
1073 git config --add submodule.subname.ignore dirty &&
1074 git config --add submodule.subname.path sm &&
1075 git status >output &&
1076 test_i18ncmp expect output &&
1077 git config --remove-section submodule.subname &&
1078 git config -f .gitmodules --remove-section submodule.subname
1083 # Changes to be committed:
1084 # (use "git reset HEAD <file>..." to unstage)
1088 # Changes not staged for commit:
1089 # (use "git add <file>..." to update what will be committed)
1090 # (use "git checkout -- <file>..." to discard changes in working directory)
1091 # (commit or discard the untracked or modified content in submodules)
1093 # modified: dir1/modified
1094 # modified: sm (modified content)
1096 # Submodule changes to be committed:
1098 # * sm $head...$new_head (1):
1102 # (use "git add <file>..." to include in what will be committed)
1113 test_expect_success
"--ignore-submodules=untracked doesn't suppress submodules with modified content" '
1114 git status --ignore-submodules=untracked > output &&
1115 test_i18ncmp expect output
1118 test_expect_success
".gitmodules ignore=untracked doesn't suppress submodules with modified content" '
1119 git config --add -f .gitmodules submodule.subname.ignore untracked &&
1120 git config --add -f .gitmodules submodule.subname.path sm &&
1121 git status >output &&
1122 test_i18ncmp expect output &&
1123 git config -f .gitmodules --remove-section submodule.subname
1126 test_expect_success
".git/config ignore=untracked doesn't suppress submodules with modified content" '
1127 git config --add -f .gitmodules submodule.subname.ignore none &&
1128 git config --add -f .gitmodules submodule.subname.path sm &&
1129 git config --add submodule.subname.ignore untracked &&
1130 git config --add submodule.subname.path sm &&
1131 git status >output &&
1132 test_i18ncmp expect output &&
1133 git config --remove-section submodule.subname &&
1134 git config -f .gitmodules --remove-section submodule.subname
1137 head2
=$
(cd sm
&& git commit
-q -m "2nd commit" foo
&& git rev-parse
--short=7 --verify HEAD
)
1141 # Changes to be committed:
1142 # (use "git reset HEAD <file>..." to unstage)
1146 # Changes not staged for commit:
1147 # (use "git add <file>..." to update what will be committed)
1148 # (use "git checkout -- <file>..." to discard changes in working directory)
1150 # modified: dir1/modified
1151 # modified: sm (new commits)
1153 # Submodule changes to be committed:
1155 # * sm $head...$new_head (1):
1158 # Submodules changed but not updated:
1160 # * sm $new_head...$head2 (1):
1164 # (use "git add <file>..." to include in what will be committed)
1175 test_expect_success
"--ignore-submodules=untracked doesn't suppress submodule summary" '
1176 git status --ignore-submodules=untracked > output &&
1177 test_i18ncmp expect output
1180 test_expect_success
".gitmodules ignore=untracked doesn't suppress submodule summary" '
1181 git config --add -f .gitmodules submodule.subname.ignore untracked &&
1182 git config --add -f .gitmodules submodule.subname.path sm &&
1183 git status >output &&
1184 test_i18ncmp expect output &&
1185 git config -f .gitmodules --remove-section submodule.subname
1188 test_expect_success
".git/config ignore=untracked doesn't suppress submodule summary" '
1189 git config --add -f .gitmodules submodule.subname.ignore none &&
1190 git config --add -f .gitmodules submodule.subname.path sm &&
1191 git config --add submodule.subname.ignore untracked &&
1192 git config --add submodule.subname.path sm &&
1193 git status >output &&
1194 test_i18ncmp expect output &&
1195 git config --remove-section submodule.subname &&
1196 git config -f .gitmodules --remove-section submodule.subname
1199 test_expect_success
"--ignore-submodules=dirty doesn't suppress submodule summary" '
1200 git status --ignore-submodules=dirty > output &&
1201 test_i18ncmp expect output
1203 test_expect_success
".gitmodules ignore=dirty doesn't suppress submodule summary" '
1204 git config --add -f .gitmodules submodule.subname.ignore dirty &&
1205 git config --add -f .gitmodules submodule.subname.path sm &&
1206 git status >output &&
1207 test_i18ncmp expect output &&
1208 git config -f .gitmodules --remove-section submodule.subname
1211 test_expect_success
".git/config ignore=dirty doesn't suppress submodule summary" '
1212 git config --add -f .gitmodules submodule.subname.ignore none &&
1213 git config --add -f .gitmodules submodule.subname.path sm &&
1214 git config --add submodule.subname.ignore dirty &&
1215 git config --add submodule.subname.path sm &&
1216 git status >output &&
1217 test_i18ncmp expect output &&
1218 git config --remove-section submodule.subname &&
1219 git config -f .gitmodules --remove-section submodule.subname
1224 # Changes not staged for commit:
1225 # (use "git add <file>..." to update what will be committed)
1226 # (use "git checkout -- <file>..." to discard changes in working directory)
1228 # modified: dir1/modified
1231 # (use "git add <file>..." to include in what will be committed)
1240 no changes added to commit (use "git add" and/or "git commit -a")
1243 test_expect_success
"--ignore-submodules=all suppresses submodule summary" '
1244 git status --ignore-submodules=all > output &&
1245 test_i18ncmp expect output
1248 test_expect_failure
'.gitmodules ignore=all suppresses submodule summary' '
1249 git config --add -f .gitmodules submodule.subname.ignore all &&
1250 git config --add -f .gitmodules submodule.subname.path sm &&
1251 git status > output &&
1252 test_cmp expect output &&
1253 git config -f .gitmodules --remove-section submodule.subname
1256 test_expect_failure
'.git/config ignore=all suppresses submodule summary' '
1257 git config --add -f .gitmodules submodule.subname.ignore none &&
1258 git config --add -f .gitmodules submodule.subname.path sm &&
1259 git config --add submodule.subname.ignore all &&
1260 git config --add submodule.subname.path sm &&
1261 git status > output &&
1262 test_cmp expect output &&
1263 git config --remove-section submodule.subname &&
1264 git config -f .gitmodules --remove-section submodule.subname