t5325: check both on-disk and in-memory reverse index
Right now, the test suite can be run with 'GIT_TEST_WRITE_REV_INDEX=1' in the environment, which causes all operations which write a pack to also write a .rev file. To prepare for when that eventually becomes the default, we should continue to test the in-memory reverse index, too, in order to avoid losing existing coverage. Unfortunately, explicit existing coverage is rather sparse, so only a basic test is added that compares the result of git rev-list --objects --no-object-names --all | git cat-file --batch-check='%(objectsize:disk) %(objectname)' with and without an on-disk reverse index. Suggested-by: Jeff King <peff@peff.net> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ec8e7760ac
commit
6885cd7dc5
@ -94,4 +94,27 @@ test_expect_success 'reverse index is not generated when available on disk' '
|
||||
--batch-check="%(objectsize:disk)" <tip
|
||||
'
|
||||
|
||||
test_expect_success 'revindex in-memory vs on-disk' '
|
||||
git init repo &&
|
||||
test_when_finished "rm -fr repo" &&
|
||||
(
|
||||
cd repo &&
|
||||
|
||||
test_commit commit &&
|
||||
|
||||
git rev-list --objects --no-object-names --all >objects &&
|
||||
|
||||
git -c pack.writeReverseIndex=false repack -ad &&
|
||||
test_path_is_missing $packdir/pack-*.rev &&
|
||||
git cat-file --batch-check="%(objectsize:disk) %(objectname)" \
|
||||
<objects >in-core &&
|
||||
|
||||
git -c pack.writeReverseIndex=true repack -ad &&
|
||||
test_path_is_file $packdir/pack-*.rev &&
|
||||
git cat-file --batch-check="%(objectsize:disk) %(objectname)" \
|
||||
<objects >on-disk &&
|
||||
|
||||
test_cmp on-disk in-core
|
||||
)
|
||||
'
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user