diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-04-07 16:54:09 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-04-07 16:54:09 -0700 |
commit | 58840e62a4c3fda3ec6c9ed4b34795aaafb73afc (patch) | |
tree | bc834238437acf9e48dd42cb1ee3725106a8160e /t/perf | |
parent | Merge branch 'zh/commit-trailer' (diff) | |
parent | pack-bitmap: avoid traversal of objects referenced by uninteresting tag (diff) | |
download | tgif-58840e62a4c3fda3ec6c9ed4b34795aaafb73afc.tar.xz |
Merge branch 'ps/pack-bitmap-optim'
Optimize "rev-list --use-bitmap-index --objects" corner case that
uses negative tags as the stopping points.
* ps/pack-bitmap-optim:
pack-bitmap: avoid traversal of objects referenced by uninteresting tag
Diffstat (limited to 't/perf')
-rwxr-xr-x | t/perf/p5310-pack-bitmaps.sh | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/t/perf/p5310-pack-bitmaps.sh b/t/perf/p5310-pack-bitmaps.sh index b3e725f031..452be01056 100755 --- a/t/perf/p5310-pack-bitmaps.sh +++ b/t/perf/p5310-pack-bitmaps.sh @@ -15,6 +15,12 @@ test_expect_success 'setup bitmap config' ' git config pack.writebitmaps true ' +# we need to create the tag up front such that it is covered by the repack and +# thus by generated bitmaps. +test_expect_success 'create tags' ' + git tag --message="tag pointing to HEAD" perf-tag HEAD +' + test_perf 'repack to disk' ' git repack -ad ' @@ -43,6 +49,14 @@ test_perf 'rev-list (objects)' ' git rev-list --all --use-bitmap-index --objects >/dev/null ' +test_perf 'rev-list with tag negated via --not --all (objects)' ' + git rev-list perf-tag --not --all --use-bitmap-index --objects >/dev/null +' + +test_perf 'rev-list with negative tag (objects)' ' + git rev-list HEAD --not perf-tag --use-bitmap-index --objects >/dev/null +' + test_perf 'rev-list count with blob:none' ' git rev-list --use-bitmap-index --count --objects --all \ --filter=blob:none >/dev/null |