Thread (1 message) 1 message, 1 author, 2020-05-13

Re: [PATCH] fetch: allow adding a filter after initial clone.

From: Junio C Hamano <hidden>
Date: 2020-05-13 22:18:12

Xin Li [off-list ref] writes:
The proposed change would allow converting an existing git clone to
use partial clones.  For example:

$ git clone --depth=1 https://android.googlesource.com/platform/bionic .
$ git fetch --unshallow --filter=blob:none origin

Previously, to allow this one would have to do the following manually
first; the existing code would handle the rest gracefully:

$ git config core.repositoryFormatVersion 1
$ git config extensions.partialClone origin

And the proposed change would have git do it for the user
automatically, the existing workflow remains otherwise unchanged.
Actually, do we even know, when we "upgrade" the repository with the
patch, that the 'origin' supports the required protocol extensions
like on-demand fetching of objects?

At "git clone" time, "git clone --filter=..."  against a server that
is not prepared to serve as a lazy clone's backup remote would fail,
so we will never write extensions.partialClone=origin when origin
cannot serve as such. 

But writing these config you suggest to "do manually" is already not
a safe thing to do, without making sure it is supported, no?  It
does not sound like a good idea to do an unsafe thing for the user
automatically.

Added a few folks on Cc: list, who know and care more about partial
clones than I do for input.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help