dir.c: git-status --ignored: don't list empty directories as ignored
[git/mingw.git] / t / t7061-wtstatus-ignore.sh
blob6171a49cf9496d00fc685f3ddf7ddff984cdde0d
1 #!/bin/sh
3 test_description='git-status ignored files'
5 . ./test-lib.sh
7 cat >expected <<\EOF
8 ?? .gitignore
9 ?? actual
10 ?? expected
11 ?? untracked/
12 EOF
14 test_expect_success 'status untracked directory with --ignored' '
15 echo "ignored" >.gitignore &&
16 mkdir untracked &&
17 : >untracked/ignored &&
18 : >untracked/uncommitted &&
19 git status --porcelain --ignored >actual &&
20 test_cmp expected actual
23 cat >expected <<\EOF
24 ?? .gitignore
25 ?? actual
26 ?? expected
27 ?? untracked/uncommitted
28 !! untracked/ignored
29 EOF
31 test_expect_success 'status untracked directory with --ignored -u' '
32 git status --porcelain --ignored -u >actual &&
33 test_cmp expected actual
36 cat >expected <<\EOF
37 ?? .gitignore
38 ?? actual
39 ?? expected
40 !! ignored/
41 EOF
43 test_expect_success 'status ignored directory with --ignore' '
44 rm -rf untracked &&
45 mkdir ignored &&
46 : >ignored/uncommitted &&
47 git status --porcelain --ignored >actual &&
48 test_cmp expected actual
51 cat >expected <<\EOF
52 ?? .gitignore
53 ?? actual
54 ?? expected
55 !! ignored/uncommitted
56 EOF
58 test_expect_success 'status ignored directory with --ignore -u' '
59 git status --porcelain --ignored -u >actual &&
60 test_cmp expected actual
63 cat >expected <<\EOF
64 ?? .gitignore
65 ?? actual
66 ?? expected
67 EOF
69 test_expect_success 'status empty untracked directory with --ignore' '
70 rm -rf ignored &&
71 mkdir untracked-ignored &&
72 mkdir untracked-ignored/test &&
73 git status --porcelain --ignored >actual &&
74 test_cmp expected actual
77 cat >expected <<\EOF
78 ?? .gitignore
79 ?? actual
80 ?? expected
81 EOF
83 test_expect_success 'status empty untracked directory with --ignore -u' '
84 git status --porcelain --ignored -u >actual &&
85 test_cmp expected actual
88 cat >expected <<\EOF
89 ?? .gitignore
90 ?? actual
91 ?? expected
92 !! untracked-ignored/
93 EOF
95 test_expect_success 'status untracked directory with ignored files with --ignore' '
96 : >untracked-ignored/ignored &&
97 : >untracked-ignored/test/ignored &&
98 git status --porcelain --ignored >actual &&
99 test_cmp expected actual
102 cat >expected <<\EOF
103 ?? .gitignore
104 ?? actual
105 ?? expected
106 !! untracked-ignored/ignored
107 !! untracked-ignored/test/ignored
110 test_expect_success 'status untracked directory with ignored files with --ignore -u' '
111 git status --porcelain --ignored -u >actual &&
112 test_cmp expected actual
115 cat >expected <<\EOF
116 ?? .gitignore
117 ?? actual
118 ?? expected
121 test_expect_success 'status ignored tracked directory with --ignore' '
122 rm -rf untracked-ignored &&
123 mkdir tracked &&
124 : >tracked/committed &&
125 git add tracked/committed &&
126 git commit -m. &&
127 echo "tracked" >.gitignore &&
128 git status --porcelain --ignored >actual &&
129 test_cmp expected actual
132 cat >expected <<\EOF
133 ?? .gitignore
134 ?? actual
135 ?? expected
138 test_expect_success 'status ignored tracked directory with --ignore -u' '
139 git status --porcelain --ignored -u >actual &&
140 test_cmp expected actual
143 cat >expected <<\EOF
144 ?? .gitignore
145 ?? actual
146 ?? expected
149 test_expect_success 'status ignored tracked directory and ignored file with --ignore' '
150 echo "committed" >>.gitignore &&
151 git status --porcelain --ignored >actual &&
152 test_cmp expected actual
155 cat >expected <<\EOF
156 ?? .gitignore
157 ?? actual
158 ?? expected
161 test_expect_success 'status ignored tracked directory and ignored file with --ignore -u' '
162 git status --porcelain --ignored -u >actual &&
163 test_cmp expected actual
166 cat >expected <<\EOF
167 ?? .gitignore
168 ?? actual
169 ?? expected
170 !! tracked/
173 test_expect_success 'status ignored tracked directory and uncommitted file with --ignore' '
174 echo "tracked" >.gitignore &&
175 : >tracked/uncommitted &&
176 git status --porcelain --ignored >actual &&
177 test_cmp expected actual
180 cat >expected <<\EOF
181 ?? .gitignore
182 ?? actual
183 ?? expected
184 !! tracked/uncommitted
187 test_expect_success 'status ignored tracked directory and uncommitted file with --ignore -u' '
188 git status --porcelain --ignored -u >actual &&
189 test_cmp expected actual
192 cat >expected <<\EOF
193 ?? .gitignore
194 ?? actual
195 ?? expected
196 !! tracked/
199 test_expect_success 'status ignored tracked directory with uncommitted file in untracked subdir with --ignore' '
200 rm -rf tracked/uncommitted &&
201 mkdir tracked/ignored &&
202 : >tracked/ignored/uncommitted &&
203 git status --porcelain --ignored >actual &&
204 test_cmp expected actual
207 cat >expected <<\EOF
208 ?? .gitignore
209 ?? actual
210 ?? expected
211 !! tracked/ignored/uncommitted
214 test_expect_success 'status ignored tracked directory with uncommitted file in untracked subdir with --ignore -u' '
215 git status --porcelain --ignored -u >actual &&
216 test_cmp expected actual
219 cat >expected <<\EOF
220 ?? .gitignore
221 ?? actual
222 ?? expected
223 !! tracked/
226 test_expect_success 'status ignored tracked directory with uncommitted file in tracked subdir with --ignore' '
227 : >tracked/ignored/committed &&
228 git add -f tracked/ignored/committed &&
229 git commit -m. &&
230 git status --porcelain --ignored >actual &&
231 test_cmp expected actual
234 cat >expected <<\EOF
235 ?? .gitignore
236 ?? actual
237 ?? expected
238 !! tracked/ignored/uncommitted
241 test_expect_success 'status ignored tracked directory with uncommitted file in tracked subdir with --ignore -u' '
242 git status --porcelain --ignored -u >actual &&
243 test_cmp expected actual
246 test_done