]> git.ipfire.org Git - thirdparty/git.git/blame - t/t7061-wtstatus-ignore.sh
git-prompt: change == to = for zsh's sake
[thirdparty/git.git] / t / t7061-wtstatus-ignore.sh
CommitLineData
eb8c5b87
AP
1#!/bin/sh
2
3test_description='git-status ignored files'
4
5. ./test-lib.sh
6
7cat >expected <<\EOF
8?? .gitignore
9?? actual
10?? expected
11?? untracked/
0a81d4a5 12!! untracked/ignored
eb8c5b87
AP
13EOF
14
fb898888 15test_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 24test_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
33cat >expected <<\EOF
34?? .gitignore
35?? actual
36?? expected
37?? untracked/uncommitted
38!! untracked/ignored
39EOF
40
41test_expect_success 'status untracked directory with --ignored -u' '
42 git status --porcelain --ignored -u >actual &&
43 test_cmp expected actual
44'
be8a84c5 45cat >expected <<\EOF
a2b13367 46?? untracked/
be8a84c5
KB
47!! untracked/ignored
48EOF
49
777b4203 50test_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
60cat >expected <<\EOF
61?? untracked/uncommitted
62!! untracked/ignored
63EOF
64
65test_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
70cat >expected <<\EOF
71?? .gitignore
72?? actual
73?? expected
74!! ignored/
75EOF
76
77test_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
85cat >expected <<\EOF
86?? .gitignore
87?? actual
88?? expected
89!! ignored/uncommitted
90EOF
91
92test_expect_success 'status ignored directory with --ignore -u' '
93 git status --porcelain --ignored -u >actual &&
94 test_cmp expected actual
95'
96
97cat >expected <<\EOF
98?? .gitignore
99?? actual
100?? expected
eb8c5b87
AP
101EOF
102
c94ab010 103test_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
111cat >expected <<\EOF
112?? .gitignore
113?? actual
114?? expected
115EOF
116
117test_expect_success 'status empty untracked directory with --ignore -u' '
118 git status --porcelain --ignored -u >actual &&
119 test_cmp expected actual
120'
121
122cat >expected <<\EOF
123?? .gitignore
124?? actual
125?? expected
126!! untracked-ignored/
127EOF
128
129test_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
136cat >expected <<\EOF
137?? .gitignore
138?? actual
139?? expected
140!! untracked-ignored/ignored
141!! untracked-ignored/test/ignored
142EOF
143
144test_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
149cat >expected <<\EOF
150?? .gitignore
151?? actual
152?? expected
153EOF
154
155test_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
166cat >expected <<\EOF
167?? .gitignore
168?? actual
169?? expected
170EOF
171
172test_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
177cat >expected <<\EOF
178?? .gitignore
179?? actual
180?? expected
181EOF
182
183test_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
189cat >expected <<\EOF
190?? .gitignore
191?? actual
192?? expected
193EOF
194
195test_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
200cat >expected <<\EOF
201?? .gitignore
202?? actual
203?? expected
5bd8e2d8 204!! tracked/uncommitted
eb8c5b87
AP
205EOF
206
207test_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
214cat >expected <<\EOF
215?? .gitignore
216?? actual
217?? expected
218!! tracked/uncommitted
219EOF
220
221test_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
226cat >expected <<\EOF
227?? .gitignore
228?? actual
229?? expected
5bd8e2d8 230!! tracked/ignored/
560bb7a7
KB
231EOF
232
233test_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
241cat >expected <<\EOF
242?? .gitignore
243?? actual
244?? expected
245!! tracked/ignored/uncommitted
246EOF
247
248test_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
253cat >expected <<\EOF
254?? .gitignore
255?? actual
256?? expected
5bd8e2d8 257!! tracked/ignored/uncommitted
289ff559
KB
258EOF
259
260test_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
268cat >expected <<\EOF
269?? .gitignore
270?? actual
271?? expected
272!! tracked/ignored/uncommitted
273EOF
274
275test_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
280cat >expected <<\EOF
281!! tracked/submodule/
282EOF
283
284test_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 291test_done