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

advertised commit fetch using commit id fails

From
KAKaren Arutyunov <karen@codesynthesis.com>
Date
Jun 14, 2019, 10:54 UTC
Message-ID
<38030a81-73bc-f877-362a-3fd8018b5977@codesynthesis.com>
Hello,

git 2.22, in contrast to previous versions, fails to fetch advertised commit using commit id:

$ git --version git version 2.22.0

$ git init git $ git -C git remote add origin https://github.com/git/git

$ git ls-remote https://github.com/git/git | grep v2.21 2bb64867dc05d9a8432488ddc1d22a194cee4d31 refs/tags/v2.21.0 8104ec994ea3849a968b4667d072fedd1e688642 refs/tags/v2.21.0^{} e4be0477c7bd475c863a361d7d8aeaeab621606c refs/tags/v2.21.0-rc0 d62dad7a7dca3f6a65162bf0e52cdf6927958e78 refs/tags/v2.21.0-rc0^{} 8b301c10ed2bc973cec4f8395dec90fce2df42fb refs/tags/v2.21.0-rc1 8989e1950a845ceeb186d490321a4f917ca4de47 refs/tags/v2.21.0-rc1^{} 1c668b7b88be5f46f8dc8fe403842cdc663185d9 refs/tags/v2.21.0-rc2 35ee755a8c43bcb3c2786522d423f006c23d32df refs/tags/v2.21.0-rc2^{}

$ git -C git fetch origin 8104ec994ea3849a968b4667d072fedd1e688642 error: Server does not allow request for unadvertised object 8104ec994ea3849a968b4667d072fedd1e688642

Fetching using tag id still works:
$ git -C git fetch origin 2bb64867dc05d9a8432488ddc1d22a194cee4d31
remote: Enumerating objects: 255575, done.
remote: Total 255575 (delta 0), reused 0 (delta 0), pack-reused 255575
Receiving objects: 100% (255575/255575), 107.95 MiB | 2.34 MiB/s, done.
Resolving deltas: 100% (190845/190845), done.
 From https://github.com/git/git
  * branch            2bb64867dc05d9a8432488ddc1d22a194cee4d31 -> FETCH_HEAD
Fetching using commit id that is a tip of some branch works also:

$ git ls-remote https://github.com/git/git | grep b697d92f56511e804b8ba20ccbe7bdc85dc66810 b697d92f56511e804b8ba20ccbe7bdc85dc66810 refs/heads/maint b697d92f56511e804b8ba20ccbe7bdc85dc66810 refs/tags/v2.22.0^{}

$ git -C git fetch origin b697d92f56511e804b8ba20ccbe7bdc85dc66810
remote: Enumerating objects: 260471, done.
remote: Total 260471 (delta 0), reused 0 (delta 0), pack-reused 260471
Receiving objects: 100% (260471/260471), 112.66 MiB | 2.33 MiB/s, done.
Resolving deltas: 100% (194715/194715), done.
 From https://github.com/git/git
  * branch            b697d92f56511e804b8ba20ccbe7bdc85dc66810 -> FETCH_HEAD

Note that the git version at the tip of the master branch (2.22.0.68.g0aae918dd9) behaves the same way.

git 2.21 fetches fine:

$ git --version git version 2.21.0

$ git -C git fetch origin 8104ec994ea3849a968b4667d072fedd1e688642
remote: Enumerating objects: 255574, done.
remote: Total 255574 (delta 0), reused 0 (delta 0), pack-reused 255574
Receiving objects: 100% (255574/255574), 107.95 MiB | 2.15 MiB/s, done.
Resolving deltas: 100% (190845/190845), done.
 From https://github.com/git/git
  * branch            8104ec994ea3849a968b4667d072fedd1e688642 -> FETCH_HEAD
Is it a bug or advertised object semantics change?

Best regards, Karen

Next: Jeff King
Message 1 of 3 in “advertised commit fetch using commit id fails”
  1. Karen ArutyunovJun 14, 2019
  2. Jeff KingJun 14, 2019
  3. Jeff KingJun 14, 2019

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.