@@ -33,22 +33,27 @@ test_expect_success 'all' '
33
33
test-tool path-walk -- --all >out &&
34
34
35
35
cat >expect <<-EOF &&
36
- 0:tree::$(git rev-parse topic^{tree})
37
- 0:tree::$(git rev-parse base^{tree})
38
- 0:tree::$(git rev-parse base~1^{tree})
39
- 0:tree::$(git rev-parse base~2^{tree})
40
- 1:tree:right/:$(git rev-parse topic:right)
41
- 1:tree:right/:$(git rev-parse base~1:right)
42
- 1:tree:right/:$(git rev-parse base~2:right)
43
- 2:blob:right/d:$(git rev-parse base~1:right/d)
44
- 3:blob:right/c:$(git rev-parse base~2:right/c)
45
- 3:blob:right/c:$(git rev-parse topic:right/c)
46
- 4:tree:left/:$(git rev-parse base:left)
47
- 4:tree:left/:$(git rev-parse base~2:left)
48
- 5:blob:left/b:$(git rev-parse base~2:left/b)
49
- 5:blob:left/b:$(git rev-parse base:left/b)
50
- 6:blob:a:$(git rev-parse base~2:a)
36
+ 0:commit::$(git rev-parse topic)
37
+ 0:commit::$(git rev-parse base)
38
+ 0:commit::$(git rev-parse base~1)
39
+ 0:commit::$(git rev-parse base~2)
40
+ 1:tree::$(git rev-parse topic^{tree})
41
+ 1:tree::$(git rev-parse base^{tree})
42
+ 1:tree::$(git rev-parse base~1^{tree})
43
+ 1:tree::$(git rev-parse base~2^{tree})
44
+ 2:tree:right/:$(git rev-parse topic:right)
45
+ 2:tree:right/:$(git rev-parse base~1:right)
46
+ 2:tree:right/:$(git rev-parse base~2:right)
47
+ 3:blob:right/d:$(git rev-parse base~1:right/d)
48
+ 4:blob:right/c:$(git rev-parse base~2:right/c)
49
+ 4:blob:right/c:$(git rev-parse topic:right/c)
50
+ 5:tree:left/:$(git rev-parse base:left)
51
+ 5:tree:left/:$(git rev-parse base~2:left)
52
+ 6:blob:left/b:$(git rev-parse base~2:left/b)
53
+ 6:blob:left/b:$(git rev-parse base:left/b)
54
+ 7:blob:a:$(git rev-parse base~2:a)
51
55
blobs:6
56
+ commits:4
52
57
trees:9
53
58
EOF
54
59
@@ -59,19 +64,23 @@ test_expect_success 'topic only' '
59
64
test-tool path-walk -- topic >out &&
60
65
61
66
cat >expect <<-EOF &&
62
- 0:tree::$(git rev-parse topic^{tree})
63
- 0:tree::$(git rev-parse base~1^{tree})
64
- 0:tree::$(git rev-parse base~2^{tree})
65
- 1:tree:right/:$(git rev-parse topic:right)
66
- 1:tree:right/:$(git rev-parse base~1:right)
67
- 1:tree:right/:$(git rev-parse base~2:right)
68
- 2:blob:right/d:$(git rev-parse base~1:right/d)
69
- 3:blob:right/c:$(git rev-parse base~2:right/c)
70
- 3:blob:right/c:$(git rev-parse topic:right/c)
71
- 4:tree:left/:$(git rev-parse base~2:left)
72
- 5:blob:left/b:$(git rev-parse base~2:left/b)
73
- 6:blob:a:$(git rev-parse base~2:a)
67
+ 0:commit::$(git rev-parse topic)
68
+ 0:commit::$(git rev-parse base~1)
69
+ 0:commit::$(git rev-parse base~2)
70
+ 1:tree::$(git rev-parse topic^{tree})
71
+ 1:tree::$(git rev-parse base~1^{tree})
72
+ 1:tree::$(git rev-parse base~2^{tree})
73
+ 2:tree:right/:$(git rev-parse topic:right)
74
+ 2:tree:right/:$(git rev-parse base~1:right)
75
+ 2:tree:right/:$(git rev-parse base~2:right)
76
+ 3:blob:right/d:$(git rev-parse base~1:right/d)
77
+ 4:blob:right/c:$(git rev-parse base~2:right/c)
78
+ 4:blob:right/c:$(git rev-parse topic:right/c)
79
+ 5:tree:left/:$(git rev-parse base~2:left)
80
+ 6:blob:left/b:$(git rev-parse base~2:left/b)
81
+ 7:blob:a:$(git rev-parse base~2:a)
74
82
blobs:5
83
+ commits:3
75
84
trees:7
76
85
EOF
77
86
@@ -82,15 +91,66 @@ test_expect_success 'topic, not base' '
82
91
test-tool path-walk -- topic --not base >out &&
83
92
84
93
cat >expect <<-EOF &&
94
+ 0:commit::$(git rev-parse topic)
95
+ 1:tree::$(git rev-parse topic^{tree})
96
+ 2:tree:right/:$(git rev-parse topic:right)
97
+ 3:blob:right/d:$(git rev-parse topic:right/d)
98
+ 4:blob:right/c:$(git rev-parse topic:right/c)
99
+ 5:tree:left/:$(git rev-parse topic:left)
100
+ 6:blob:left/b:$(git rev-parse topic:left/b)
101
+ 7:blob:a:$(git rev-parse topic:a)
102
+ blobs:4
103
+ commits:1
104
+ trees:3
105
+ EOF
106
+
107
+ test_cmp_sorted expect out
108
+ '
109
+
110
+ test_expect_success ' topic, not base, only blobs' '
111
+ test-tool path-walk --no-trees --no-commits \
112
+ -- topic --not base >out &&
113
+
114
+ cat >expect <<-EOF &&
115
+ commits:0
116
+ trees:0
117
+ 0:blob:right/d:$(git rev-parse topic:right/d)
118
+ 1:blob:right/c:$(git rev-parse topic:right/c)
119
+ 2:blob:left/b:$(git rev-parse topic:left/b)
120
+ 3:blob:a:$(git rev-parse topic:a)
121
+ blobs:4
122
+ EOF
123
+
124
+ test_cmp_sorted expect out
125
+ '
126
+
127
+ # No, this doesn't make a lot of sense for the path-walk API,
128
+ # but it is possible to do.
129
+ test_expect_success ' topic, not base, only commits' '
130
+ test-tool path-walk --no-blobs --no-trees \
131
+ -- topic --not base >out &&
132
+
133
+ cat >expect <<-EOF &&
134
+ 0:commit::$(git rev-parse topic)
135
+ commits:1
136
+ trees:0
137
+ blobs:0
138
+ EOF
139
+
140
+ test_cmp_sorted expect out
141
+ '
142
+
143
+ test_expect_success ' topic, not base, only trees' '
144
+ test-tool path-walk --no-blobs --no-commits \
145
+ -- topic --not base >out &&
146
+
147
+ cat >expect <<-EOF &&
148
+ commits:0
85
149
0:tree::$(git rev-parse topic^{tree})
86
150
1:tree:right/:$(git rev-parse topic:right)
87
- 2:blob:right/d:$(git rev-parse topic:right/d)
88
- 3:blob:right/c:$(git rev-parse topic:right/c)
89
- 4:tree:left/:$(git rev-parse topic:left)
90
- 5:blob:left/b:$(git rev-parse topic:left/b)
91
- 6:blob:a:$(git rev-parse topic:a)
92
- blobs:4
151
+ 2:tree:left/:$(git rev-parse topic:left)
93
152
trees:3
153
+ blobs:0
94
154
EOF
95
155
96
156
test_cmp_sorted expect out
@@ -100,17 +160,20 @@ test_expect_success 'topic, not base, boundary' '
100
160
test-tool path-walk -- --boundary topic --not base >out &&
101
161
102
162
cat >expect <<-EOF &&
103
- 0:tree::$(git rev-parse topic^{tree})
104
- 0:tree::$(git rev-parse base~1^{tree})
105
- 1:tree:right/:$(git rev-parse topic:right)
106
- 1:tree:right/:$(git rev-parse base~1:right)
107
- 2:blob:right/d:$(git rev-parse base~1:right/d)
108
- 3:blob:right/c:$(git rev-parse base~1:right/c)
109
- 3:blob:right/c:$(git rev-parse topic:right/c)
110
- 4:tree:left/:$(git rev-parse base~1:left)
111
- 5:blob:left/b:$(git rev-parse base~1:left/b)
112
- 6:blob:a:$(git rev-parse base~1:a)
163
+ 0:commit::$(git rev-parse topic)
164
+ 0:commit::$(git rev-parse base~1)
165
+ 1:tree::$(git rev-parse topic^{tree})
166
+ 1:tree::$(git rev-parse base~1^{tree})
167
+ 2:tree:right/:$(git rev-parse topic:right)
168
+ 2:tree:right/:$(git rev-parse base~1:right)
169
+ 3:blob:right/d:$(git rev-parse base~1:right/d)
170
+ 4:blob:right/c:$(git rev-parse base~1:right/c)
171
+ 4:blob:right/c:$(git rev-parse topic:right/c)
172
+ 5:tree:left/:$(git rev-parse base~1:left)
173
+ 6:blob:left/b:$(git rev-parse base~1:left/b)
174
+ 7:blob:a:$(git rev-parse base~1:a)
113
175
blobs:5
176
+ commits:2
114
177
trees:5
115
178
EOF
116
179
0 commit comments