tests: order arguments to git-rev-list properly
It is a common mistake to put positional arguments before flags when invoking git-rev-list. Order the positional arguments last. This patch skips git-rev-list invocations which include the --not flag, since the ordering of flags and positional arguments affects the behavior. This patch also skips invocations of git-rev-list that occur in command substitution in which the exit code is discarded, since fixing those properly will require a more involved cleanup. Signed-off-by: Matthew DeVore <matvore@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthew DeVore committed
Oct 5, 2018 at 14:54 UTC
8d6ba49563600d8e65c7f56fb0f29e23a571a75f
3 files changed
+44
-29
t/t5616-partial-clone.sh
+15
-11
@@ -35,7 +35,7 @@ test_expect_success 'setup bare clone for server' '
35
test_expect_success 'do partial clone 1' '
36
git clone --no-checkout --filter=blob:none "file://$(pwd)/srv.bare" pc1 &&
37
38
- git -C pc1 rev-list HEAD --quiet --objects --missing=print >revs &&
38
+ git -C pc1 rev-list --quiet --objects --missing=print HEAD >revs &&
39
awk -f print_1.awk revs |
40
sed "s/?//" |
41
sort >observed.oids &&
@@ -48,10 +48,10 @@ test_expect_success 'do partial clone 1' '
48
49
# checkout master to force dynamic object fetch of blobs at HEAD.
50
test_expect_success 'verify checkout with dynamic object fetch' '
51
- git -C pc1 rev-list HEAD --quiet --objects --missing=print >observed &&
51
+ git -C pc1 rev-list --quiet --objects --missing=print HEAD >observed &&
52
test_line_count = 4 observed &&
53
git -C pc1 checkout master &&
54
- git -C pc1 rev-list HEAD --quiet --objects --missing=print >observed &&
54
+ git -C pc1 rev-list --quiet --objects --missing=print HEAD >observed &&
55
test_line_count = 0 observed
56
'
57
@@ -74,7 +74,8 @@ test_expect_success 'push new commits to server' '
74
# have the new blobs.
75
test_expect_success 'partial fetch inherits filter settings' '
76
git -C pc1 fetch origin &&
77
- git -C pc1 rev-list master..origin/master --quiet --objects --missing=print >observed &&
77
+ git -C pc1 rev-list --quiet --objects --missing=print \
78
+ master..origin/master >observed &&
79
test_line_count = 5 observed
80
'
81
@@ -82,7 +83,8 @@ test_expect_success 'partial fetch inherits filter settings' '
83
# we should only get 1 new blob (for the file in origin/master).
84
test_expect_success 'verify diff causes dynamic object fetch' '
85
git -C pc1 diff master..origin/master -- file.1.txt &&
85
- git -C pc1 rev-list master..origin/master --quiet --objects --missing=print >observed &&
86
+ git -C pc1 rev-list --quiet --objects --missing=print \
87
+ master..origin/master >observed &&
88
test_line_count = 4 observed
89
'
90
@@ -91,7 +93,8 @@ test_expect_success 'verify diff causes dynamic object fetch' '
93
test_expect_success 'verify blame causes dynamic object fetch' '
94
git -C pc1 blame origin/master -- file.1.txt >observed.blame &&
95
test_cmp expect.blame observed.blame &&
94
- git -C pc1 rev-list master..origin/master --quiet --objects --missing=print >observed &&
96
+ git -C pc1 rev-list --quiet --objects --missing=print \
97
+ master..origin/master >observed &&
98
test_line_count = 0 observed
99
'
100
@@ -111,7 +114,8 @@ test_expect_success 'push new commits to server for file.2.txt' '
114
# Verify we have all the new blobs.
115
test_expect_success 'override inherited filter-spec using --no-filter' '
116
git -C pc1 fetch --no-filter origin &&
114
- git -C pc1 rev-list master..origin/master --quiet --objects --missing=print >observed &&
117
+ git -C pc1 rev-list --quiet --objects --missing=print \
118
+ master..origin/master >observed &&
119
test_line_count = 0 observed
120
'
121
@@ -133,8 +137,8 @@ test_expect_success 'push new commits to server for file.3.txt' '
137
test_expect_success 'manual prefetch of missing objects' '
138
git -C pc1 fetch --filter=blob:none origin &&
139
136
- git -C pc1 rev-list master..origin/master --quiet --objects --missing=print \
137
- >revs &&
140
+ git -C pc1 rev-list --quiet --objects --missing=print \
141
+ master..origin/master >revs &&
142
awk -f print_1.awk revs |
143
sed "s/?//" |
144
sort >observed.oids &&
@@ -142,8 +146,8 @@ test_expect_success 'manual prefetch of missing objects' '
146
test_line_count = 6 observed.oids &&
147
git -C pc1 fetch-pack --stdin "file://$(pwd)/srv.bare" <observed.oids &&
148
145
- git -C pc1 rev-list master..origin/master --quiet --objects --missing=print \
146
- >revs &&
149
+ git -C pc1 rev-list --quiet --objects --missing=print \
150
+ master..origin/master >revs &&
151
awk -f print_1.awk revs |
152
sed "s/?//" |
153
sort >observed.oids &&
t/t5702-protocol-v2.sh
+2
-2
@@ -271,7 +271,7 @@ test_expect_success 'partial clone' '
271
grep "version 2" trace &&
272
273
# Ensure that the old version of the file is missing
274
- git -C client rev-list master --quiet --objects --missing=print \
274
+ git -C client rev-list --quiet --objects --missing=print master \
275
>observed.oids &&
276
grep "$(git -C server rev-parse message1:a.txt)" observed.oids &&
277
@@ -297,7 +297,7 @@ test_expect_success 'partial fetch' '
297
grep "version 2" trace &&
298
299
# Ensure that the old version of the file is missing
300
- git -C client rev-list other --quiet --objects --missing=print \
300
+ git -C client rev-list --quiet --objects --missing=print other \
301
>observed.oids &&
302
grep "$(git -C server rev-parse message1:a.txt)" observed.oids &&
303
t/t6112-rev-list-filters-objects.sh
+27
-16
@@ -25,7 +25,8 @@ test_expect_success 'verify blob:none omits all 5 blobs' '
25
awk -f print_2.awk ls_files_result |
26
sort >expected &&
27
28
- git -C r1 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:none >revs &&
28
+ git -C r1 rev-list --quiet --objects --filter-print-omitted \
29
+ --filter=blob:none HEAD >revs &&
30
awk -f print_1.awk revs |
31
sed "s/~//" |
32
sort >observed &&
@@ -34,12 +35,12 @@ test_expect_success 'verify blob:none omits all 5 blobs' '
35
'
36
37
test_expect_success 'verify emitted+omitted == all' '
37
- git -C r1 rev-list HEAD --objects >revs &&
38
+ git -C r1 rev-list --objects HEAD >revs &&
39
awk -f print_1.awk revs |
40
sort >expected &&
41
41
- git -C r1 rev-list HEAD --objects --filter-print-omitted --filter=blob:none \
42
- >revs &&
42
+ git -C r1 rev-list --objects --filter-print-omitted --filter=blob:none \
43
+ HEAD >revs &&
44
awk -f print_1.awk revs |
45
sed "s/~//" |
46
sort >observed &&
@@ -68,7 +69,8 @@ test_expect_success 'verify blob:limit=500 omits all blobs' '
69
awk -f print_2.awk ls_files_result |
70
sort >expected &&
71
71
- git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=500 >revs &&
72
+ git -C r2 rev-list --quiet --objects --filter-print-omitted \
73
+ --filter=blob:limit=500 HEAD >revs &&
74
awk -f print_1.awk revs |
75
sed "s/~//" |
76
sort >observed &&
@@ -77,11 +79,12 @@ test_expect_success 'verify blob:limit=500 omits all blobs' '
79
'
80
81
test_expect_success 'verify emitted+omitted == all' '
80
- git -C r2 rev-list HEAD --objects >revs &&
82
+ git -C r2 rev-list --objects HEAD >revs &&
83
awk -f print_1.awk revs |
84
sort >expected &&
85
84
- git -C r2 rev-list HEAD --objects --filter-print-omitted --filter=blob:limit=500 >revs &&
86
+ git -C r2 rev-list --objects --filter-print-omitted \
87
+ --filter=blob:limit=500 HEAD >revs &&
88
awk -f print_1.awk revs |
89
sed "s/~//" |
90
sort >observed &&
@@ -94,7 +97,8 @@ test_expect_success 'verify blob:limit=1000' '
97
awk -f print_2.awk ls_files_result |
98
sort >expected &&
99
97
- git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1000 >revs &&
100
+ git -C r2 rev-list --quiet --objects --filter-print-omitted \
101
+ --filter=blob:limit=1000 HEAD >revs &&
102
awk -f print_1.awk revs |
103
sed "s/~//" |
104
sort >observed &&
@@ -107,7 +111,8 @@ test_expect_success 'verify blob:limit=1001' '
111
awk -f print_2.awk ls_files_result |
112
sort >expected &&
113
110
- git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1001 >revs &&
114
+ git -C r2 rev-list --quiet --objects --filter-print-omitted \
115
+ --filter=blob:limit=1001 HEAD >revs &&
116
awk -f print_1.awk revs |
117
sed "s/~//" |
118
sort >observed &&
@@ -120,7 +125,8 @@ test_expect_success 'verify blob:limit=1k' '
125
awk -f print_2.awk ls_files_result |
126
sort >expected &&
127
123
- git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1k >revs &&
128
+ git -C r2 rev-list --quiet --objects --filter-print-omitted \
129
+ --filter=blob:limit=1k HEAD >revs &&
130
awk -f print_1.awk revs |
131
sed "s/~//" |
132
sort >observed &&
@@ -129,7 +135,8 @@ test_expect_success 'verify blob:limit=1k' '
135
'
136
137
test_expect_success 'verify blob:limit=1m' '
132
- git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m >revs &&
138
+ git -C r2 rev-list --quiet --objects --filter-print-omitted \
139
+ --filter=blob:limit=1m HEAD >revs &&
140
awk -f print_1.awk revs |
141
sed "s/~//" |
142
sort >observed &&
@@ -162,7 +169,8 @@ test_expect_success 'verify sparse:path=pattern1 omits top-level files' '
169
awk -f print_2.awk ls_files_result |
170
sort >expected &&
171
165
- git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern1 >revs &&
172
+ git -C r3 rev-list --quiet --objects --filter-print-omitted \
173
+ --filter=sparse:path=../pattern1 HEAD >revs &&
174
awk -f print_1.awk revs |
175
sed "s/~//" |
176
sort >observed &&
@@ -175,7 +183,8 @@ test_expect_success 'verify sparse:path=pattern2 omits both sparse2 files' '
183
awk -f print_2.awk ls_files_result |
184
sort >expected &&
185
178
- git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern2 >revs &&
186
+ git -C r3 rev-list --quiet --objects --filter-print-omitted \
187
+ --filter=sparse:path=../pattern2 HEAD >revs &&
188
awk -f print_1.awk revs |
189
sed "s/~//" |
190
sort >observed &&
@@ -200,7 +209,8 @@ test_expect_success 'verify sparse:oid=OID omits top-level files' '
209
210
oid=$(git -C r3 ls-files -s pattern | awk -f print_2.awk) &&
211
203
- git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=$oid >revs &&
212
+ git -C r3 rev-list --quiet --objects --filter-print-omitted \
213
+ --filter=sparse:oid=$oid HEAD >revs &&
214
awk -f print_1.awk revs |
215
sed "s/~//" |
216
sort >observed &&
@@ -213,7 +223,8 @@ test_expect_success 'verify sparse:oid=oid-ish omits top-level files' '
223
awk -f print_2.awk ls_files_result |
224
sort >expected &&
225
216
- git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=master:pattern >revs &&
226
+ git -C r3 rev-list --quiet --objects --filter-print-omitted \
227
+ --filter=sparse:oid=master:pattern HEAD >revs &&
228
awk -f print_1.awk revs |
229
sed "s/~//" |
230
sort >observed &&
@@ -235,7 +246,7 @@ test_expect_success 'rev-list W/ --missing=print' '
246
rm r1/.git/objects/$id
247
done &&
248
238
- git -C r1 rev-list --quiet HEAD --missing=print --objects >revs &&
249
+ git -C r1 rev-list --quiet --missing=print --objects HEAD >revs &&
250
awk -f print_1.awk revs |
251
sed "s/?//" |
252
sort >observed &&