@@ -21,47 +21,46 @@ entries. Also test odd filename and missing entries handling.
21
21
'
22
22
. ./test-lib.sh
23
23
24
- test_expect_success \
25
- ' setup ' \
26
- ' echo 111 >1 .txt &&
27
- echo 222 >2.txt &&
28
- mkdir path0 path0/a path0/a/b path0/a/b/c &&
29
- echo 111 >path0/a/ b/c/1.txt &&
30
- mkdir path1 path1/b path1/b/c &&
31
- echo 111 >path1/b/c/1.txt &&
32
- mkdir path2 &&
33
- echo 111 >path2/1.txt &&
34
- mkdir path3 &&
35
- echo 111 >path3/1 .txt &&
36
- echo 222 >path3/2.txt &&
37
- find *.txt path* \( -type f -o -type l \) -print |
38
- xargs git update-index --add &&
39
- tree=`git write-tree` &&
40
- echo $tree '
24
+ test_expect_success ' setup ' '
25
+ echo 111 >1.txt &&
26
+ echo 222 >2 .txt &&
27
+ mkdir path0 path0/a path0/a/b path0/a/b/c &&
28
+ echo 111 > path0/a/b/c/1.txt &&
29
+ mkdir path1 path1/b path1/ b/c &&
30
+ echo 111 > path1/b/c/1.txt &&
31
+ mkdir path2 &&
32
+ echo 111 > path2/1.txt &&
33
+ mkdir path3 &&
34
+ echo 111 > path3/1.txt &&
35
+ echo 222 >path3/2 .txt &&
36
+ find *.txt path* \( -type f -o -type l \) -print |
37
+ xargs git update-index --add &&
38
+ tree=` git write-tree` &&
39
+ echo $ tree
40
+ '
41
41
42
42
test_output () {
43
- sed -e " s/ $_x40 / X /" < current > check
44
- test_cmp expected check
43
+ sed -e " s/ $_x40 / X /" < current > check &&
44
+ test_cmp expected check
45
45
}
46
46
47
- test_expect_success \
48
- ' ls-tree plain' \
49
- ' git ls-tree $tree >current &&
50
- cat >expected <<\EOF &&
47
+ test_expect_success ' ls-tree plain' '
48
+ git ls-tree $tree >current &&
49
+ cat >expected <<\EOF &&
51
50
100644 blob X 1.txt
52
51
100644 blob X 2.txt
53
52
040000 tree X path0
54
53
040000 tree X path1
55
54
040000 tree X path2
56
55
040000 tree X path3
57
56
EOF
58
- test_output'
57
+ test_output
58
+ '
59
59
60
60
# Recursive does not show tree nodes anymore...
61
- test_expect_success \
62
- ' ls-tree recursive' \
63
- ' git ls-tree -r $tree >current &&
64
- cat >expected <<\EOF &&
61
+ test_expect_success ' ls-tree recursive' '
62
+ git ls-tree -r $tree >current &&
63
+ cat >expected <<\EOF &&
65
64
100644 blob X 1.txt
66
65
100644 blob X 2.txt
67
66
100644 blob X path0/a/b/c/1.txt
@@ -70,68 +69,71 @@ test_expect_success \
70
69
100644 blob X path3/1.txt
71
70
100644 blob X path3/2.txt
72
71
EOF
73
- test_output'
72
+ test_output
73
+ '
74
74
75
- test_expect_success \
76
- ' ls-tree filter 1.txt' \
77
- ' git ls-tree $tree 1.txt >current &&
78
- cat >expected <<\EOF &&
75
+ test_expect_success ' ls-tree filter 1.txt' '
76
+ git ls-tree $tree 1.txt >current &&
77
+ cat >expected <<\EOF &&
79
78
100644 blob X 1.txt
80
79
EOF
81
- test_output'
80
+ test_output
81
+ '
82
82
83
- test_expect_success \
84
- ' ls-tree filter path1/b/c/1.txt' \
85
- ' git ls-tree $tree path1/b/c/1.txt >current &&
86
- cat >expected <<\EOF &&
83
+ test_expect_success ' ls-tree filter path1/b/c/1.txt' '
84
+ git ls-tree $tree path1/b/c/1.txt >current &&
85
+ cat >expected <<\EOF &&
87
86
100644 blob X path1/b/c/1.txt
88
87
EOF
89
- test_output'
88
+ test_output
89
+ '
90
90
91
- test_expect_success \
92
- ' ls-tree filter all 1.txt files ' \
93
- ' git ls-tree $tree 1.txt path0/a/b/c/1.txt path1/b/c/1.txt path2/1.txt path3/1.txt >current &&
94
- cat >expected <<\EOF &&
91
+ test_expect_success ' ls-tree filter all 1.txt files ' '
92
+ git ls-tree $tree 1.txt path0/a/b/c/1.txt \
93
+ path1/b/c/1.txt path2/1.txt path3/1.txt >current &&
94
+ cat >expected <<\EOF &&
95
95
100644 blob X 1.txt
96
96
100644 blob X path0/a/b/c/1.txt
97
97
100644 blob X path1/b/c/1.txt
98
98
100644 blob X path2/1.txt
99
99
100644 blob X path3/1.txt
100
100
EOF
101
- test_output'
101
+ test_output
102
+ '
102
103
103
104
# I am not so sure about this one after ls-tree doing pathspec match.
104
105
# Having both path0/a and path0/a/b/c makes path0/a redundant, and
105
106
# it behaves as if path0/a/b/c, path1/b/c, path2 and path3 are specified.
106
- test_expect_success \
107
- ' ls-tree filter directories' \
108
- ' git ls-tree $tree path3 path2 path0/a/b/c path1/b/c path0/a >current &&
109
- cat >expected <<\EOF &&
107
+ test_expect_success ' ls-tree filter directories' '
108
+ git ls-tree $tree path3 path2 path0/a/b/c path1/b/c path0/a >current &&
109
+ cat >expected <<\EOF &&
110
110
040000 tree X path0/a/b/c
111
111
040000 tree X path1/b/c
112
112
040000 tree X path2
113
113
040000 tree X path3
114
114
EOF
115
- test_output'
115
+ test_output
116
+ '
116
117
117
118
# Again, duplicates are filtered away so this is equivalent to
118
119
# having 1.txt and path3
119
- test_expect_success \
120
- ' ls-tree filter odd names ' \
121
- ' git ls-tree $tree 1.txt ./1.txt .//1.txt path3/1.txt path3/./1.txt path3 path3// >current &&
122
- cat >expected <<\EOF &&
120
+ test_expect_success ' ls-tree filter odd names ' '
121
+ git ls-tree $tree 1.txt ./1.txt .//1.txt \
122
+ path3/1.txt path3/./1.txt path3 path3// >current &&
123
+ cat >expected <<\EOF &&
123
124
100644 blob X 1.txt
124
125
100644 blob X path3/1.txt
125
126
100644 blob X path3/2.txt
126
127
EOF
127
- test_output'
128
+ test_output
129
+ '
128
130
129
- test_expect_success \
130
- ' ls-tree filter missing files and extra slashes ' \
131
- ' git ls-tree $tree 1.txt/ abc.txt path3//23.txt path3/2.txt/// >current &&
132
- cat >expected <<\EOF &&
133
- EOF
134
- test_output '
131
+ test_expect_success ' ls-tree filter missing files and extra slashes ' '
132
+ git ls-tree $tree 1.txt/ abc.txt \
133
+ path3//23.txt path3/2.txt/// >current &&
134
+ >expected &&
135
+ test_output
136
+ '
135
137
136
138
test_expect_success ' ls-tree filter is leading path match' '
137
139
git ls-tree $tree pa path3/a >current &&
198
200
'
199
201
200
202
test_expect_success ' ls-tree --name-only' '
201
- git ls-tree --name-only $tree >current
203
+ git ls-tree --name-only $tree >current &&
202
204
cat >expected <<\EOF &&
203
205
1.txt
204
206
2.txt
211
213
'
212
214
213
215
test_expect_success ' ls-tree --name-only -r' '
214
- git ls-tree --name-only -r $tree >current
216
+ git ls-tree --name-only -r $tree >current &&
215
217
cat >expected <<\EOF &&
216
218
1.txt
217
219
2.txt
0 commit comments