17
test-tool read-midx --show-objects .git/objects | grep "^$1 " | cut -f2
18
}
19
20
+test_rev_exists () {
21
+ commit="$1"
22
+
23
+ test_expect_success 'reverse index exists' '
24
+ GIT_TRACE2_EVENT=$(pwd)/event.trace \
25
+ git rev-list --test-bitmap "$commit" &&
26
+
27
+ test_path_is_file $midx-$(midx_checksum $objdir).rev &&
28
+ grep "\"category\":\"load_midx_revindex\",\"key\":\"source\",\"value\":\"rev\"" event.trace
29
+ '
30
+}
31
+
32
setup_bitmap_history
33
34
test_expect_success 'create single-pack midx with bitmaps' '
35
git repack -ad &&
36
git multi-pack-index write --bitmap &&
37
test_path_is_file $midx &&
26
- test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
27
- test_path_is_file $midx-$(midx_checksum $objdir).rev
38
+ test_path_is_file $midx-$(midx_checksum $objdir).bitmap
39
'
40
41
+test_rev_exists HEAD
42
+
43
basic_bitmap_tests
44
45
test_expect_success 'create new additional packs' '
65
test_line_count = 25 packs &&
66
67
test_path_is_file $midx &&
55
- test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
56
- test_path_is_file $midx-$(midx_checksum $objdir).rev
68
+ test_path_is_file $midx-$(midx_checksum $objdir).bitmap
69
'
70
71
+test_rev_exists HEAD
72
+
73
basic_bitmap_tests
74
75
test_expect_success '--no-bitmap is respected when bitmaps exist' '
80
81
test_path_is_file $midx &&
82
test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
69
- test_path_is_file $midx-$(midx_checksum $objdir).rev &&
83
84
git multi-pack-index write --no-bitmap &&
85
219
test_commit loose &&
220
git multi-pack-index write --bitmap 2>err &&
221
test_path_is_file $midx &&
209
- test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
210
- test_path_is_file $midx-$(midx_checksum $objdir).rev
222
+ test_path_is_file $midx-$(midx_checksum $objdir).bitmap
223
'
224
225
+test_rev_exists HEAD~
226
+
227
basic_bitmap_tests HEAD~
228
229
test_expect_success 'removing a MIDX clears stale bitmaps' '
238
239
# Write a MIDX and bitmap; remove the MIDX but leave the bitmap.
240
stale_bitmap=$midx-$(midx_checksum $objdir).bitmap &&
227
- stale_rev=$midx-$(midx_checksum $objdir).rev &&
241
rm $midx &&
242
243
# Then write a new MIDX.
247
248
test_path_is_file $midx &&
249
test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
237
- test_path_is_file $midx-$(midx_checksum $objdir).rev &&
238
- test_path_is_missing $stale_bitmap &&
239
- test_path_is_missing $stale_rev
250
+ test_path_is_missing $stale_bitmap
251
)
252
'
253
268
git multi-pack-index write --bitmap &&
269
test_path_is_file $midx &&
270
test_path_is_file $midx-$(midx_checksum $objdir).bitmap &&
260
- test_path_is_file $midx-$(midx_checksum $objdir).rev &&
271
272
test-tool bitmap list-commits | sort >bitmaps &&
273
comm -13 bitmaps commits >before &&
277
<before | git update-ref --stdin &&
278
279
rm -fr $midx-$(midx_checksum $objdir).bitmap &&
270
- rm -fr $midx-$(midx_checksum $objdir).rev &&
280
rm -fr $midx &&
281
282
git -c pack.preferBitmapTips=refs/tags/include \
314
grep "$(git rev-parse two)" bitmaps &&
315
316
rm -fr $midx-$(midx_checksum $objdir).bitmap &&
308
- rm -fr $midx-$(midx_checksum $objdir).rev &&
317
rm -fr $midx &&
318
319
# Then again, but with a refs snapshot which only sees
358
) >snapshot &&
359
360
rm -fr $midx-$(midx_checksum $objdir).bitmap &&
353
- rm -fr $midx-$(midx_checksum $objdir).rev &&
361
rm -fr $midx &&
362
363
git multi-pack-index write --bitmap --refs-snapshot=snapshot &&