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

Cannot shallow clone using GitHub tag refs after commit 34066f06

From
TRTeddy Reed <teddy.reed@gmail.com>
Date
Oct 12, 2019, 22:31 UTC
Message-ID
<20191012183102.337fe74d728a4942a7de5ab7@gmail.com>
Hello, I am trying to debug an issue where a shallow clone (--depth=1) fails when the reference is the tip of a tag on a GitHub repository.
The git client works on versions below 2.22.0-rc0 up until commit 34066f06, "fetch: do not consider peeled tags as advertised tips". That commit peels refs in the form of "refs/tags/v2.2.2^{}". My question is if the intention was to peel these refs and break this functionality? I do not know enough about git to understand if the behavior before commit 34066f06 was unintended.
Here is a method to reproduce the previous behavior:

$ mkdir test-repo $ cd test-repo $ git init $ git submodule add https://github.com/gflags/gflags gflags $ (cd gflags; git checkout v2.2.2) $ git add . $ git commit -m 'Add gflags submodule'

Then with git client version 2.21.0:

$ git clone test-repo test-repo2 $ cd test-repo2 $ git submodule update --init --depth=1

Submodule 'gflags' (https://github.com/gflags/gflags) registered for path 'gflags'
Cloning into '/tmp/test-repo2/gflags'...
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9 (delta 8), reused 1 (delta 0), pack-reused 0
Unpacking objects: 100% (9/9), done.
From https://github.com/gflags/gflags
 * branch            e171aa2d15ed9eb17054558e0b3a6a413bb01067 -> FETCH_HEAD
Submodule path 'gflags': checked out 'e171aa2d15ed9eb17054558e0b3a6a413bb01067'
And attempting with newer versions of the git client:

Cloning into '/tmp/test-repo2/gflags'... error: Server does not allow request for unadvertised object e171aa2d15ed9eb17054558e0b3a6a413bb01067 Fetched in submodule path 'gflags', but it did not contain e171aa2d15ed9eb17054558e0b3a6a413bb01067. Direct fetching of that commit failed.

Thanks for the help!
-- 
Teddy Reed <teddy.reed@gmail.com>
Next: Jeff King
Message 1 of 2 in “Cannot shallow clone using GitHub tag refs after commit 34066f06”
  1. Teddy ReedOct 12, 2019
  2. Jeff KingOct 13, 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.