Subject: Re: [PATCH 11/11] bundle: unbundle promisor packs

From: Junio C Hamano <[email-masked]>
Date: Mon, 07 Mar 2022 11:40:26 -0800

Derrick Stolee <[email-masked]> writes:

> I also had some struggles getting this to work since local clones
> were actually ignoring the filter. I didn't think it was worth
> setting up an HTTP or SSH server just for this test.

Does "clone --no-local $path" work as a workaround?  It should do
the same thing as "ssh" codepath except that it uses "sh" instead as
the process on the other side is running locally.

>>> I also attempted doing a "git clone --bare partial.bdl unbundled.git" to
>>> get the 'git clone' command to actually place the refs. However, 'git clone'
>>> does not set up the repository filter based on the bundle, so it reports
>>> missing blobs (even though there is no checkout).
>> 
>> Understandable, as cloning from a bundle, if I recall correctly, was
>> done as yet another special case in "git clone", differently from
>> the main "over the network" code path.  And from end-user's point of
>> view, I think updating it is part of introducing the filtered
>> bundle.
>
> The reason I did not include that here is because of the lack of
> repository-global promisor/filter config. I do want to loop back
> and make those updates, but perhaps for this series we should add
> an error condition into 'git clone' to say "Cannot currently clone
> from a filtered bundle" to help users understand the issue?

It would be a workable stepwise solution, I would think.  It is not
like we are robbing an existing feature from users---it merely is
that the support of partial cloning over different "transport" is
uneven, which is to be expected, especially in earlier phase of
introducing a new feature.

Thanks.