From: Derrick Stolee Date: Tue, 21 Aug 2018 19:47:36 GMT Subject: Re: [PATCH 5/6] pack-bitmap: save "have" bitmap from walk Message-ID: <7dadd117-e7f4-4d15-b907-043718022494@gmail.com> In-Reply-To: <20180821190701.GE30764@sigill.intra.peff.net> On 8/21/2018 3:07 PM, Jeff King wrote: > When we do a bitmap walk, we save the result, which > represents (WANTs & ~HAVEs); i.e., every object we care > about visiting in our walk. However, we throw away the > haves bitmap, which can sometimes be useful, too. Save it > and provide an access function so code which has performed a > walk can query it. This makes a lot of sense. Based on the amount of time the "Counting Objects" blog post [1] spent talking about delta bases, I would have assumed this "haves" bitmap was already part of it. But, I can also see how it could be dropped if you are focusing on performance for 'git clone'. > A few notes on the accessor interface: > > - the bitmap code calls these "haves" because it grew out > of the want/have negotiation for fetches. But really, > these are simply the objects that would be flagged > UNINTERESTING in a regular traversal. Let's use that > more universal nomenclature for the external module > interface. We may want to change the internal naming > inside the bitmap code, but that's outside the scope of > this patch. I saw the uninteresting-vs-haves name confusion in the patch below, but I agree with your logic here. Sorry that I'm late to the party, but I was interested in the topic. Thanks, -Stolee [1] https://githubengineering.com/counting-objects/     "Counting Objects" by Vincent Martí