I was looking into an issue around partial clone in v2.26.0-rc1, but found several references in the code and documentation to "extensions.partialClone". Here is the blurb from Documentation/technical/repository-version.txt: ==== `partialclone` When the config key `extensions.partialclone` is set, it indicates that the repo was created with a partial clone (or later performed a partial fetch) and that the remote may have omitted sending certain unwanted objects. Such a remote is called a "promisor remote" and it promises that all such omitted objects can be fetched from it in the future. The value of this key is the name of the promisor remote. and this error message in builtin/fetch.c: if (filter_options.choice && !has_promisor_remote()) die("--filter can only be used when extensions.partialClone is set"); but it appears that we rely on the "remote.<name>.promisor = true" setting instead of this extension. Indeed, if we run `git clone --filter=blob:none <url>" the resulting .git/config file is as follows: [core] repositoryformatversion = 1 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = <url> fetch = +refs/heads/*:refs/remotes/origin/* promisor = true partialclonefilter = blob:none [branch "master"] remote = origin merge = refs/heads/master So, I thought I would put this up on the list to point out the inconsistency, in case someone with more context has thoughts on the correct way forward here. Thanks, -Stolee