47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='incremental multi-pack-index'
|
|
. ./test-lib.sh
|
|
. "$TEST_DIRECTORY"/lib-midx.sh
|
|
|
|
GIT_TEST_MULTI_PACK_INDEX=0
|
|
export GIT_TEST_MULTI_PACK_INDEX
|
|
|
|
objdir=.git/objects
|
|
packdir=$objdir/pack
|
|
midxdir=$packdir/multi-pack-index.d
|
|
midx_chain=$midxdir/multi-pack-index-chain
|
|
|
|
test_expect_success 'convert non-incremental MIDX to incremental' '
|
|
test_commit base &&
|
|
git repack -ad &&
|
|
git multi-pack-index write &&
|
|
|
|
test_path_is_file $packdir/multi-pack-index &&
|
|
old_hash="$(midx_checksum $objdir)" &&
|
|
|
|
test_commit other &&
|
|
git repack -d &&
|
|
git multi-pack-index write --incremental &&
|
|
|
|
test_path_is_missing $packdir/multi-pack-index &&
|
|
test_path_is_file $midx_chain &&
|
|
test_line_count = 2 $midx_chain &&
|
|
grep $old_hash $midx_chain
|
|
'
|
|
|
|
compare_results_with_midx 'incremental MIDX'
|
|
|
|
test_expect_success 'convert incremental to non-incremental' '
|
|
test_commit squash &&
|
|
git repack -d &&
|
|
git multi-pack-index write &&
|
|
|
|
test_path_is_file $packdir/multi-pack-index &&
|
|
test_dir_is_empty $midxdir
|
|
'
|
|
|
|
compare_results_with_midx 'non-incremental MIDX conversion'
|
|
|
|
test_done
|