dir.c: git-status --ignored: don't list empty ignored directories
[git/raj.git] / t / t7061-wtstatus-ignore.sh
blob28b7d957a5268837e2789e2b490d552fbceae5cc
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 !! untracked-ignored/
68 EOF
70 test_expect_success 'status untracked directory with ignored files with --ignore' '
71 rm -rf ignored &&
72 mkdir untracked-ignored &&
73 mkdir untracked-ignored/test &&
74 : >untracked-ignored/ignored &&
75 : >untracked-ignored/test/ignored &&
76 git status --porcelain --ignored >actual &&
77 test_cmp expected actual
80 cat >expected <<\EOF
81 ?? .gitignore
82 ?? actual
83 ?? expected
84 !! untracked-ignored/ignored
85 !! untracked-ignored/test/ignored
86 EOF
88 test_expect_success 'status untracked directory with ignored files with --ignore -u' '
89 git status --porcelain --ignored -u >actual &&
90 test_cmp expected actual
93 cat >expected <<\EOF
94 ?? .gitignore
95 ?? actual
96 ?? expected
97 EOF
99 test_expect_success 'status ignored tracked directory with --ignore' '
100 rm -rf untracked-ignored &&
101 mkdir tracked &&
102 : >tracked/committed &&
103 git add tracked/committed &&
104 git commit -m. &&
105 echo "tracked" >.gitignore &&
106 git status --porcelain --ignored >actual &&
107 test_cmp expected actual
110 cat >expected <<\EOF
111 ?? .gitignore
112 ?? actual
113 ?? expected
116 test_expect_success 'status ignored tracked directory with --ignore -u' '
117 git status --porcelain --ignored -u >actual &&
118 test_cmp expected actual
121 cat >expected <<\EOF
122 ?? .gitignore
123 ?? actual
124 ?? expected
127 test_expect_success 'status ignored tracked directory and ignored file with --ignore' '
128 echo "committed" >>.gitignore &&
129 git status --porcelain --ignored >actual &&
130 test_cmp expected actual
133 cat >expected <<\EOF
134 ?? .gitignore
135 ?? actual
136 ?? expected
139 test_expect_success 'status ignored tracked directory and ignored file with --ignore -u' '
140 git status --porcelain --ignored -u >actual &&
141 test_cmp expected actual
144 cat >expected <<\EOF
145 ?? .gitignore
146 ?? actual
147 ?? expected
148 !! tracked/
151 test_expect_success 'status ignored tracked directory and uncommitted file with --ignore' '
152 echo "tracked" >.gitignore &&
153 : >tracked/uncommitted &&
154 git status --porcelain --ignored >actual &&
155 test_cmp expected actual
158 cat >expected <<\EOF
159 ?? .gitignore
160 ?? actual
161 ?? expected
162 !! tracked/uncommitted
165 test_expect_success 'status ignored tracked directory and uncommitted file with --ignore -u' '
166 git status --porcelain --ignored -u >actual &&
167 test_cmp expected actual
170 cat >expected <<\EOF
171 ?? .gitignore
172 ?? actual
173 ?? expected
174 !! tracked/
177 test_expect_success 'status ignored tracked directory with uncommitted file in untracked subdir with --ignore' '
178 rm -rf tracked/uncommitted &&
179 mkdir tracked/ignored &&
180 : >tracked/ignored/uncommitted &&
181 git status --porcelain --ignored >actual &&
182 test_cmp expected actual
185 cat >expected <<\EOF
186 ?? .gitignore
187 ?? actual
188 ?? expected
189 !! tracked/ignored/uncommitted
192 test_expect_success 'status ignored tracked directory with uncommitted file in untracked subdir with --ignore -u' '
193 git status --porcelain --ignored -u >actual &&
194 test_cmp expected actual
197 cat >expected <<\EOF
198 ?? .gitignore
199 ?? actual
200 ?? expected
201 !! tracked/
204 test_expect_success 'status ignored tracked directory with uncommitted file in tracked subdir with --ignore' '
205 : >tracked/ignored/committed &&
206 git add -f tracked/ignored/committed &&
207 git commit -m. &&
208 git status --porcelain --ignored >actual &&
209 test_cmp expected actual
212 cat >expected <<\EOF
213 ?? .gitignore
214 ?? actual
215 ?? expected
216 !! tracked/ignored/uncommitted
219 test_expect_success 'status ignored tracked directory with uncommitted file in tracked subdir with --ignore -u' '
220 git status --porcelain --ignored -u >actual &&
221 test_cmp expected actual
224 test_done