On Thu, Mar 12, 2020 at 02:17:40PM -0700, Junio C Hamano wrote: > Taylor Blau <me@xxxxxxxxxxxx> writes: > > > On Thu, Mar 12, 2020 at 10:51:51AM -0700, Jonathan Nieder wrote: > >> Jonathan Tan wrote: > >> > Derrick Stolee wrote: > >> > >> >> but it appears that we rely on the "remote.<name>.promisor = true" > >> >> setting instead of this extension. > >> > > >> > Hmm...besides giving the name of the promisor remote, the > >> > extensions.partialClone setting is there to prevent old versions of Git > >> > (that do not know this extension) from manipulating the repo. > > > > Manipulating it how? > > Presumably if the version of Git does not assume that sometimes > missing objects are OK, its "fsck" and "repack" would become very > upset when a repository lacks very many objects because the version > of Git that created it assumes they can be lazily fetched, no? Yes (or even just "git log", which will barf when it hits a needed object). Unlike some other extensions, I don't think that case would be _dangerous_ (i.e., for any case where it matters the old version is likely to abort, thinking it's seeing corruption, rather than writing out a subtly wrong result). But it is certainly more pleasant for the user to see "we don't support the partialClone extension" than a spew of "missing object" messages. -Peff