rev-list: allow bitmaps when counting objects
commit608d9c93658d6ec2d585748ed45218cc1f404640
authorJeff King <peff@peff.net>
Fri, 14 Feb 2020 18:22:22 +0000 (14 13:22 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Feb 2020 18:46:22 +0000 (14 10:46 -0800)
tree8c6a3a82f5c6e4a4e5b6a74b72b004e8be2c2d33
parent55cb10f9b5cd7216652a5879b792bcd7ac173035
rev-list: allow bitmaps when counting objects

The prior commit taught "--count --objects" to work without bitmaps. We
should be able to get the same answer much more quickly with bitmaps.

Note that we punt on the max_count case here. This perhaps _could_ be
made to work if we find all of the boundary commits and treat them as
UNINTERESTING, subtracting them (and their reachable objects) from the
set we return. That implies an actual commit traversal, but we'd still
be faster due to avoiding opening up any trees. Given the complexity and
the fact that anyone is unlikely to want this, it makes sense to just
fall back to the non-bitmap case for now.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rev-list.c
t/t5310-pack-bitmaps.sh