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

Re: git fetch recursion problem

From
FHFraser Hanson <fraser.hanson@gmail.com>
Date
Jun 1, 2023, 22:57 UTC
Message-ID
<CA+3o5aNgChKi-m6F_sYr4Sc+VXP-K2BCMpTpY8Km+kH5u9tkCQ@mail.gmail.com>
In-Reply-To
<kl6lzg5iztzw.fsf@chooglen-macbookpro.roam.corp.google.com>
Thanks for the theory!

This repo has no .gitmodules file. I tried running `git fetch --no-recurse-submodules` in one of my broken repos, but it does not prevent the bug from happening.

I also tried removing the submodule configuration in .git/config, that had no effect either.

Maybe something is unusual on the server side. I've set up my own git server attempting to reproduce similar apache and git versions as on our corporate mirror but so far cannot reproduce the bug. I've compared the GIT_CURL_VERBOSE output to what I get for the same repo from github, but it's not very helpful. Github uses HTTP2 and my git client sends different service api calls to github so there's not much basis for comparison here.

My main theory was that maybe the server-side git version was too old to handle partial clones properly. Partial clones were introduced in git 2.25. On my test git server, I set the server-side git version to 2.7.2. This did not reproduce the bug -- on the client side using a recent git version, I was still able to pull partial clones and then fetch from origin after my local copy went out of date.

Previous: Glen ChooNext: Fraser Hanson
Message 4 of 5 in “git fetch recursion problem”
  1. Fraser HansonMay 27, 2023
  2. Fraser HansonMay 30, 2023
  3. Glen ChooJun 1, 2023
  4. Fraser HansonJun 1, 2023
  5. Fraser HansonJun 19, 2023

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.