Re: [PATCH v4 6/6] list-objects-filter: implement filter tree:0
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 15, 2018, 16:17 UTC
- Message-ID
- <xmqqr2izk3j0.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180815012224.GA4745@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 7 quoted lines
> Right, I'd agree they probably want the minimum for that traversal. And > for `rev-list --filter`, that's probably OK. But keep in mind the main > goal for --filter is using it for fetches, and many servers do not > perform the traversal at all. Instead they use reachability bitmaps to > come up with the set of objects to send. The bitmaps have enough > information to say "remove all trees from the set", but not enough to do > any kind of depth-based calculation (not even "is this a root tree").
If the depth-based cutoff turns out to make sense (on which I haven't formed an opinion yet), newer version of pack bitmaps could store that information ;-)
How are these "fitler" expressions negotiated between the fetcher and uploader? Does a "fetch-patch" say "am I allowed to ask you to filter with tree:4?" and refrain from using the option when "upload-pack" says "no"?