]>
Commit | Line | Data |
---|---|---|
eb8c5b87 AP |
1 | #!/bin/sh |
2 | ||
3 | test_description='git-status ignored files' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | cat >expected <<\EOF | |
8 | ?? .gitignore | |
9 | ?? actual | |
10 | ?? expected | |
11 | ?? untracked/ | |
0a81d4a5 | 12 | !! untracked/ignored |
eb8c5b87 AP |
13 | EOF |
14 | ||
fb898888 | 15 | test_expect_success 'status untracked directory with --ignored' ' |
eb8c5b87 AP |
16 | echo "ignored" >.gitignore && |
17 | mkdir untracked && | |
18 | : >untracked/ignored && | |
19 | : >untracked/uncommitted && | |
20 | git status --porcelain --ignored >actual && | |
21 | test_cmp expected actual | |
22 | ' | |
23 | ||
fb898888 | 24 | test_expect_success 'same with gitignore starting with BOM' ' |
245e1c19 CMN |
25 | printf "\357\273\277ignored\n" >.gitignore && |
26 | mkdir -p untracked && | |
27 | : >untracked/ignored && | |
28 | : >untracked/uncommitted && | |
29 | git status --porcelain --ignored >actual && | |
30 | test_cmp expected actual | |
31 | ' | |
32 | ||
eb8c5b87 AP |
33 | cat >expected <<\EOF |
34 | ?? .gitignore | |
35 | ?? actual | |
36 | ?? expected | |
37 | ?? untracked/uncommitted | |
38 | !! untracked/ignored | |
39 | EOF | |
40 | ||
41 | test_expect_success 'status untracked directory with --ignored -u' ' | |
42 | git status --porcelain --ignored -u >actual && | |
43 | test_cmp expected actual | |
44 | ' | |
be8a84c5 | 45 | cat >expected <<\EOF |
a2b13367 | 46 | ?? untracked/ |
be8a84c5 KB |
47 | !! untracked/ignored |
48 | EOF | |
49 | ||
777b4203 | 50 | test_expect_success 'status of untracked directory with --ignored works with or without prefix' ' |
a2b13367 EN |
51 | git status --porcelain --ignored >tmp && |
52 | grep untracked/ tmp >actual && | |
53 | rm tmp && | |
54 | test_cmp expected actual && | |
55 | ||
be8a84c5 KB |
56 | git status --porcelain --ignored untracked/ >actual && |
57 | test_cmp expected actual | |
58 | ' | |
59 | ||
60 | cat >expected <<\EOF | |
61 | ?? untracked/uncommitted | |
62 | !! untracked/ignored | |
63 | EOF | |
64 | ||
65 | test_expect_success 'status prefixed untracked sub-directory with --ignored -u' ' | |
66 | git status --porcelain --ignored -u untracked/ >actual && | |
67 | test_cmp expected actual | |
68 | ' | |
eb8c5b87 AP |
69 | |
70 | cat >expected <<\EOF | |
71 | ?? .gitignore | |
72 | ?? actual | |
73 | ?? expected | |
74 | !! ignored/ | |
75 | EOF | |
76 | ||
77 | test_expect_success 'status ignored directory with --ignore' ' | |
78 | rm -rf untracked && | |
79 | mkdir ignored && | |
80 | : >ignored/uncommitted && | |
81 | git status --porcelain --ignored >actual && | |
82 | test_cmp expected actual | |
83 | ' | |
84 | ||
85 | cat >expected <<\EOF | |
86 | ?? .gitignore | |
87 | ?? actual | |
88 | ?? expected | |
89 | !! ignored/uncommitted | |
90 | EOF | |
91 | ||
92 | test_expect_success 'status ignored directory with --ignore -u' ' | |
93 | git status --porcelain --ignored -u >actual && | |
94 | test_cmp expected actual | |
95 | ' | |
96 | ||
97 | cat >expected <<\EOF | |
98 | ?? .gitignore | |
99 | ?? actual | |
100 | ?? expected | |
eb8c5b87 AP |
101 | EOF |
102 | ||
c94ab010 | 103 | test_expect_success 'status empty untracked directory with --ignore' ' |
eb8c5b87 AP |
104 | rm -rf ignored && |
105 | mkdir untracked-ignored && | |
106 | mkdir untracked-ignored/test && | |
c94ab010 KB |
107 | git status --porcelain --ignored >actual && |
108 | test_cmp expected actual | |
109 | ' | |
110 | ||
111 | cat >expected <<\EOF | |
112 | ?? .gitignore | |
113 | ?? actual | |
114 | ?? expected | |
115 | EOF | |
116 | ||
117 | test_expect_success 'status empty untracked directory with --ignore -u' ' | |
118 | git status --porcelain --ignored -u >actual && | |
119 | test_cmp expected actual | |
120 | ' | |
121 | ||
122 | cat >expected <<\EOF | |
123 | ?? .gitignore | |
124 | ?? actual | |
125 | ?? expected | |
126 | !! untracked-ignored/ | |
127 | EOF | |
128 | ||
129 | test_expect_success 'status untracked directory with ignored files with --ignore' ' | |
eb8c5b87 AP |
130 | : >untracked-ignored/ignored && |
131 | : >untracked-ignored/test/ignored && | |
132 | git status --porcelain --ignored >actual && | |
133 | test_cmp expected actual | |
134 | ' | |
135 | ||
136 | cat >expected <<\EOF | |
137 | ?? .gitignore | |
138 | ?? actual | |
139 | ?? expected | |
140 | !! untracked-ignored/ignored | |
141 | !! untracked-ignored/test/ignored | |
142 | EOF | |
143 | ||
144 | test_expect_success 'status untracked directory with ignored files with --ignore -u' ' | |
145 | git status --porcelain --ignored -u >actual && | |
146 | test_cmp expected actual | |
147 | ' | |
148 | ||
149 | cat >expected <<\EOF | |
150 | ?? .gitignore | |
151 | ?? actual | |
152 | ?? expected | |
153 | EOF | |
154 | ||
155 | test_expect_success 'status ignored tracked directory with --ignore' ' | |
156 | rm -rf untracked-ignored && | |
157 | mkdir tracked && | |
158 | : >tracked/committed && | |
159 | git add tracked/committed && | |
160 | git commit -m. && | |
161 | echo "tracked" >.gitignore && | |
162 | git status --porcelain --ignored >actual && | |
163 | test_cmp expected actual | |
164 | ' | |
165 | ||
166 | cat >expected <<\EOF | |
167 | ?? .gitignore | |
168 | ?? actual | |
169 | ?? expected | |
170 | EOF | |
171 | ||
172 | test_expect_success 'status ignored tracked directory with --ignore -u' ' | |
173 | git status --porcelain --ignored -u >actual && | |
174 | test_cmp expected actual | |
175 | ' | |
176 | ||
0104c9e7 KB |
177 | cat >expected <<\EOF |
178 | ?? .gitignore | |
179 | ?? actual | |
180 | ?? expected | |
181 | EOF | |
182 | ||
183 | test_expect_success 'status ignored tracked directory and ignored file with --ignore' ' | |
184 | echo "committed" >>.gitignore && | |
185 | git status --porcelain --ignored >actual && | |
186 | test_cmp expected actual | |
187 | ' | |
188 | ||
189 | cat >expected <<\EOF | |
190 | ?? .gitignore | |
191 | ?? actual | |
192 | ?? expected | |
193 | EOF | |
194 | ||
195 | test_expect_success 'status ignored tracked directory and ignored file with --ignore -u' ' | |
196 | git status --porcelain --ignored -u >actual && | |
197 | test_cmp expected actual | |
198 | ' | |
199 | ||
eb8c5b87 AP |
200 | cat >expected <<\EOF |
201 | ?? .gitignore | |
202 | ?? actual | |
203 | ?? expected | |
5bd8e2d8 | 204 | !! tracked/uncommitted |
eb8c5b87 AP |
205 | EOF |
206 | ||
207 | test_expect_success 'status ignored tracked directory and uncommitted file with --ignore' ' | |
0104c9e7 | 208 | echo "tracked" >.gitignore && |
eb8c5b87 AP |
209 | : >tracked/uncommitted && |
210 | git status --porcelain --ignored >actual && | |
211 | test_cmp expected actual | |
212 | ' | |
213 | ||
214 | cat >expected <<\EOF | |
215 | ?? .gitignore | |
216 | ?? actual | |
217 | ?? expected | |
218 | !! tracked/uncommitted | |
219 | EOF | |
220 | ||
221 | test_expect_success 'status ignored tracked directory and uncommitted file with --ignore -u' ' | |
222 | git status --porcelain --ignored -u >actual && | |
223 | test_cmp expected actual | |
224 | ' | |
225 | ||
560bb7a7 KB |
226 | cat >expected <<\EOF |
227 | ?? .gitignore | |
228 | ?? actual | |
229 | ?? expected | |
5bd8e2d8 | 230 | !! tracked/ignored/ |
560bb7a7 KB |
231 | EOF |
232 | ||
233 | test_expect_success 'status ignored tracked directory with uncommitted file in untracked subdir with --ignore' ' | |
234 | rm -rf tracked/uncommitted && | |
235 | mkdir tracked/ignored && | |
236 | : >tracked/ignored/uncommitted && | |
237 | git status --porcelain --ignored >actual && | |
238 | test_cmp expected actual | |
239 | ' | |
240 | ||
241 | cat >expected <<\EOF | |
242 | ?? .gitignore | |
243 | ?? actual | |
244 | ?? expected | |
245 | !! tracked/ignored/uncommitted | |
246 | EOF | |
247 | ||
248 | test_expect_success 'status ignored tracked directory with uncommitted file in untracked subdir with --ignore -u' ' | |
249 | git status --porcelain --ignored -u >actual && | |
250 | test_cmp expected actual | |
251 | ' | |
252 | ||
289ff559 KB |
253 | cat >expected <<\EOF |
254 | ?? .gitignore | |
255 | ?? actual | |
256 | ?? expected | |
5bd8e2d8 | 257 | !! tracked/ignored/uncommitted |
289ff559 KB |
258 | EOF |
259 | ||
260 | test_expect_success 'status ignored tracked directory with uncommitted file in tracked subdir with --ignore' ' | |
261 | : >tracked/ignored/committed && | |
262 | git add -f tracked/ignored/committed && | |
263 | git commit -m. && | |
264 | git status --porcelain --ignored >actual && | |
265 | test_cmp expected actual | |
266 | ' | |
267 | ||
268 | cat >expected <<\EOF | |
269 | ?? .gitignore | |
270 | ?? actual | |
271 | ?? expected | |
272 | !! tracked/ignored/uncommitted | |
273 | EOF | |
274 | ||
275 | test_expect_success 'status ignored tracked directory with uncommitted file in tracked subdir with --ignore -u' ' | |
276 | git status --porcelain --ignored -u >actual && | |
277 | test_cmp expected actual | |
278 | ' | |
279 | ||
fadb4820 JS |
280 | cat >expected <<\EOF |
281 | !! tracked/submodule/ | |
282 | EOF | |
283 | ||
284 | test_expect_success 'status ignores submodule in excluded directory' ' | |
285 | git init tracked/submodule && | |
286 | test_commit -C tracked/submodule initial && | |
287 | git status --porcelain --ignored -u tracked/submodule >actual && | |
288 | test_cmp expected actual | |
289 | ' | |
290 | ||
eb8c5b87 | 291 | test_done |