diff options
author | Patrick Steinhardt <ps@pks.im> | 2021-04-19 13:47:02 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-04-19 14:09:11 -0700 |
commit | 169a15ebd66dd23bf8c379ad33bced1578c848ef (patch) | |
tree | 15d10df534d51c91698be05e3db7fc240fe6676b /t | |
parent | pack-bitmap: implement object type filter (diff) | |
download | tgif-169a15ebd66dd23bf8c379ad33bced1578c848ef.tar.xz |
pack-bitmap: implement combined filter
When the user has multiple objects filters specified, then this is
internally represented by having a "combined" filter. These combined
filters aren't yet supported by bitmap indices and can thus not be
accelerated.
Fix this by implementing support for these combined filters. The
implementation is quite trivial: when there's a combined filter, we
simply recurse into `filter_bitmap()` for all of the sub-filters.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t6113-rev-list-bitmap-filters.sh | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/t/t6113-rev-list-bitmap-filters.sh b/t/t6113-rev-list-bitmap-filters.sh index fb66735ac8..cb9db7df6f 100755 --- a/t/t6113-rev-list-bitmap-filters.sh +++ b/t/t6113-rev-list-bitmap-filters.sh @@ -98,4 +98,11 @@ test_expect_success 'object:type filter' ' test_bitmap_traversal expect actual ' +test_expect_success 'combine filter' ' + git rev-list --objects --filter=blob:limit=1000 --filter=object:type=blob tag >expect && + git rev-list --use-bitmap-index \ + --objects --filter=blob:limit=1000 --filter=object:type=blob tag >actual && + test_bitmap_traversal expect actual +' + test_done |