Re: [PATCH v2] add test to demonstrate that shallow recursive clones fail
- From
Jeff King <peff@peff.net>
- Date
- Nov 18, 2015, 21:11 UTC
- Message-ID
- <20151118211158.GA32071@sigill.intra.peff.net>
- In-Reply-To
- <CACsJy8Ah2PgO8CunCvWiKB7RfqMfovWa1a7ro5scHFK+AEAXpg@mail.gmail.com>
On Wed, Nov 18, 2015 at 01:32:36PM +0100, Duy Nguyen wrote:
Show 6 quoted lines
> Yeah I think that was the 10k commits in Shawn's mail: the number of > commits we may have to walk until we hit a reachability bitmap. It > looks like C Git will create a bitmap every 5k commits, not 10k, > though, if I read the code correctly. The point is reachability test > with the presence of pack bitmaps is not O(n) anymore. Which is > probably good enough for now.
There are some pathological cases, though. I hit one recently that still took 40s to do "rev-list --objects --all --use-bitmap-index" (it's 80s without bitmaps). The problem is that it has over 20,000 refs. We try to put a bitmap at the tip of each ref, but it's tough when there are that many.
I suspect there's room for improvement in the commit selection in such cases. That code hasn't really been tweaked since it was originally written, and repositories like that are extreme outliers.
-Peff