Re: [PATCH v2 0/6] Partial clone part 1: object filtering
- Date: Wed, 8 Nov 2017 09:39:35 -0500
- From: Jeff Hostetler <git@xxxxxxxxxxxxxxxxx>
- Subject: Re: [PATCH v2 0/6] Partial clone part 1: object filtering
On 11/7/2017 7:54 PM, Junio C Hamano wrote:
Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes:
I can see some use for this parameter - for example, when doing a report
for statistical purposes (percentage of objects missing, for example) or
for a background task that downloads missing objects into a cache. Also,
power users who know what they're doing (or normal users in an
emergency) can use this option when they have no network connection if
they really need to find something out from the local repo.
In these cases, the promisor check (after detecting that the object is
missing) is indeed not so useful, I think. (Or we can do the
--exclude=missing and --exclude=promisor idea that Jeff mentioned -
--exclude=missing now, and --exclude=promisor after we add promisor
This sounds like a reasonable thing to have in the endgame state to
OK thanks, I'll change it to --exclude=missing in my next version.
Having said that, I would be OK if we didn't have tolerance (and/or
reporting) of missing objects right now. As far as I know, for the
initial implementation of partial clone, only the server performs any
filtering, and we assume that the server possesses all objects (so it
does not need to filter out any missing objects).
True. It does not have to exist in an early part, but I do not
think we would terribly mind if it does, if only to help debugging
Thanks for thinking it through.
Right, it could come later, but having it here in part 1 as part
of the initial series completes the pre-promisor portion of these
commands. Having a print-missing option lets rev-list -- as is --
be used in a bulk-fetch-object pre-checkout hook or as part of a
"give me what I need before I go offline" command. This is useful
by itself. It does augment the dynamic fetch-object code added in
part 2 and the unpack-trees changes in part 3 to call fetch-object.