]>
Commit | Line | Data |
---|---|---|
ef79b1f8 NTND |
1 | #!/bin/sh |
2 | ||
3 | test_description='test case exclude pathspec' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | test_expect_success 'setup' ' | |
8 | for p in file sub/file sub/sub/file sub/file2 sub/sub/sub/file sub2/file; do | |
9 | if echo $p | grep /; then | |
10 | mkdir -p `dirname $p` | |
11 | fi && | |
12 | : >$p && | |
13 | git add $p && | |
14 | git commit -m $p | |
15 | done && | |
16 | git log --oneline --format=%s >actual && | |
17 | cat <<EOF >expect && | |
18 | sub2/file | |
19 | sub/sub/sub/file | |
20 | sub/file2 | |
21 | sub/sub/file | |
22 | sub/file | |
23 | file | |
24 | EOF | |
25 | test_cmp expect actual | |
26 | ' | |
27 | ||
28 | test_expect_success 'exclude only should error out' ' | |
29 | test_must_fail git log --oneline --format=%s -- ":(exclude)sub" | |
30 | ' | |
31 | ||
32 | test_expect_success 't_e_i() exclude sub' ' | |
33 | git log --oneline --format=%s -- . ":(exclude)sub" >actual | |
34 | cat <<EOF >expect && | |
35 | sub2/file | |
36 | file | |
37 | EOF | |
38 | test_cmp expect actual | |
39 | ' | |
40 | ||
41 | test_expect_success 't_e_i() exclude sub/sub/file' ' | |
42 | git log --oneline --format=%s -- . ":(exclude)sub/sub/file" >actual | |
43 | cat <<EOF >expect && | |
44 | sub2/file | |
45 | sub/sub/sub/file | |
46 | sub/file2 | |
47 | sub/file | |
48 | file | |
49 | EOF | |
50 | test_cmp expect actual | |
51 | ' | |
52 | ||
53 | test_expect_success 't_e_i() exclude sub using mnemonic' ' | |
54 | git log --oneline --format=%s -- . ":!sub" >actual | |
55 | cat <<EOF >expect && | |
56 | sub2/file | |
57 | file | |
58 | EOF | |
59 | test_cmp expect actual | |
60 | ' | |
61 | ||
62 | test_expect_success 't_e_i() exclude :(icase)SUB' ' | |
63 | git log --oneline --format=%s -- . ":(exclude,icase)SUB" >actual | |
64 | cat <<EOF >expect && | |
65 | sub2/file | |
66 | file | |
67 | EOF | |
68 | test_cmp expect actual | |
69 | ' | |
70 | ||
71 | test_expect_success 't_e_i() exclude sub2 from sub' ' | |
72 | ( | |
73 | cd sub && | |
74 | git log --oneline --format=%s -- :/ ":/!sub2" >actual | |
75 | cat <<EOF >expect && | |
76 | sub/sub/sub/file | |
77 | sub/file2 | |
78 | sub/sub/file | |
79 | sub/file | |
80 | file | |
81 | EOF | |
82 | test_cmp expect actual | |
83 | ) | |
84 | ' | |
85 | ||
86 | test_expect_success 't_e_i() exclude sub/*file' ' | |
87 | git log --oneline --format=%s -- . ":(exclude)sub/*file" >actual | |
88 | cat <<EOF >expect && | |
89 | sub2/file | |
90 | sub/file2 | |
91 | file | |
92 | EOF | |
93 | test_cmp expect actual | |
94 | ' | |
95 | ||
96 | test_expect_success 't_e_i() exclude :(glob)sub/*/file' ' | |
97 | git log --oneline --format=%s -- . ":(exclude,glob)sub/*/file" >actual | |
98 | cat <<EOF >expect && | |
99 | sub2/file | |
100 | sub/sub/sub/file | |
101 | sub/file2 | |
102 | sub/file | |
103 | file | |
104 | EOF | |
105 | test_cmp expect actual | |
106 | ' | |
107 | ||
108 | test_expect_success 'm_p_d() exclude sub' ' | |
109 | git ls-files -- . ":(exclude)sub" >actual | |
110 | cat <<EOF >expect && | |
111 | file | |
112 | sub2/file | |
113 | EOF | |
114 | test_cmp expect actual | |
115 | ' | |
116 | ||
117 | test_expect_success 'm_p_d() exclude sub/sub/file' ' | |
118 | git ls-files -- . ":(exclude)sub/sub/file" >actual | |
119 | cat <<EOF >expect && | |
120 | file | |
121 | sub/file | |
122 | sub/file2 | |
123 | sub/sub/sub/file | |
124 | sub2/file | |
125 | EOF | |
126 | test_cmp expect actual | |
127 | ' | |
128 | ||
129 | test_expect_success 'm_p_d() exclude sub using mnemonic' ' | |
130 | git ls-files -- . ":!sub" >actual | |
131 | cat <<EOF >expect && | |
132 | file | |
133 | sub2/file | |
134 | EOF | |
135 | test_cmp expect actual | |
136 | ' | |
137 | ||
138 | test_expect_success 'm_p_d() exclude :(icase)SUB' ' | |
139 | git ls-files -- . ":(exclude,icase)SUB" >actual | |
140 | cat <<EOF >expect && | |
141 | file | |
142 | sub2/file | |
143 | EOF | |
144 | test_cmp expect actual | |
145 | ' | |
146 | ||
147 | test_expect_success 'm_p_d() exclude sub2 from sub' ' | |
148 | ( | |
149 | cd sub && | |
150 | git ls-files -- :/ ":/!sub2" >actual | |
151 | cat <<EOF >expect && | |
152 | ../file | |
153 | file | |
154 | file2 | |
155 | sub/file | |
156 | sub/sub/file | |
157 | EOF | |
158 | test_cmp expect actual | |
159 | ) | |
160 | ' | |
161 | ||
162 | test_expect_success 'm_p_d() exclude sub/*file' ' | |
163 | git ls-files -- . ":(exclude)sub/*file" >actual | |
164 | cat <<EOF >expect && | |
165 | file | |
166 | sub/file2 | |
167 | sub2/file | |
168 | EOF | |
169 | test_cmp expect actual | |
170 | ' | |
171 | ||
172 | test_expect_success 'm_p_d() exclude :(glob)sub/*/file' ' | |
173 | git ls-files -- . ":(exclude,glob)sub/*/file" >actual | |
174 | cat <<EOF >expect && | |
175 | file | |
176 | sub/file | |
177 | sub/file2 | |
178 | sub/sub/sub/file | |
179 | sub2/file | |
180 | EOF | |
181 | test_cmp expect actual | |
182 | ' | |
183 | ||
184 | test_done |