Re: [PATCH v3 10/10] t5325: check both on-disk and in-memory reverse index
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Jan 29, 2021, 01:32 UTC
- Message-ID
- <YBNlkvrxvAYrLeMc@nand.local>
- In-Reply-To
- <YBNfZeRiHgQwSqGq@coredump.intra.peff.net>
On Thu, Jan 28, 2021 at 08:05:41PM -0500, Jeff King wrote:
> Oh, I forgot to mention: if re-rolling, s/fortuan/fortuna/.
I do like your suggestion quite a lot: it gets rid of some ugliness, while making the overall test structure simpler. Here's a replacement for the final series.
Junio: when queuing, please apply this one instead of the original v3 10/10.
Thanks, Taylor
--- >8 ---
Subject: [PATCH] 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> --- t/t5325-reverse-index.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
diff --git a/t/t5325-reverse-index.sh b/t/t5325-reverse-index.sh index a344b18d7e..da453f68d6 100755 --- a/t/t5325-reverse-index.sh +++ b/t/t5325-reverse-index.sh @@ -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 -- 2.30.0.138.g6d7191ea01