git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[Question] Is extensions.partialClone defunct?

From
Derrick Stolee <stolee@gmail.com>
Date
Mar 12, 2020, 12:23 UTC
Message-ID
<5981c317-4b39-de15-810b-a781aa79189d@gmail.com>
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

Next: Jonathan Tan
Message 1 of 13 in “[Question] Is extensions.partialClone defunct?”
  1. Derrick StoleeMar 12, 2020
  2. Jonathan TanMar 12, 2020
  3. Jonathan NiederMar 12, 2020
  4. Junio C HamanoMar 12, 2020
  5. Taylor BlauMar 12, 2020
  6. Junio C HamanoMar 12, 2020
  7. Jeff KingMar 12, 2020
  8. Christian CouderMar 12, 2020
  9. Christian CouderMar 12, 2020
  10. Jonathan NiederMar 12, 2020
  11. Christian CouderMar 14, 2020
  12. Tao KlerksJun 5, 2021
  13. Junio C HamanoMar 13, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.