On 3/7/2022 2:40 PM, Junio C Hamano wrote: > Derrick Stolee <derrickstolee@xxxxxxxxxx> 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've been trying this: git clone --no-local --filter=$filter "file://$(pwd)" cloned && which "succeeds" with this in the stderr: warning: filtering not recognized by server, ignoring >>>> 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. That was my understanding, too. Thanks, -Stolee