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

Re: [BUG/FEATURE] Git pushing and fetching many more objects than strictly required

From
PLPaul van Loon <nospam@cheerful.com>
Date
Nov 8, 2019, 20:54 UTC
Message-ID
<e537d298-6431-c36a-2fc3-e41baa10d0a3@cheerful.com>
In-Reply-To
<20191108184723.246596-1-jonathantanmy@google.com>
On 2019-11-08 19:47, Jonathan Tan wrote:
Show 25 quoted lines
>> $ git fetch --all
>> Fetching origin
>> remote: Enumerating objects: 29507, done.
>> remote: Counting objects: 100% (29507/29507), done.
>> remote: Compressing objects: 100% (33/33), done.
>> remote: Total 53914 (delta 29478), reused 29500 (delta 29471), pack-reused 24407
>> Receiving objects: 100% (53914/53914), 31.90 MiB | 111.00 KiB/s, done.
>> Resolving deltas: 100% (42462/42462), completed with 7382 local objects.
>> --
>>
>> $ git push -v origin 'refs/replace/*:refs/replace/*'
>> Pushing to XXXX
>> Enumerating objects: 2681, done.
>> Counting objects: 100% (2681/2681), done.
>> Delta compression using up to 8 threads
>> Compressing objects: 100% (1965/1965), done.
>> Writing objects: 100% (2582/2582), 1.96 MiB | 1024 bytes/s, done.
>> Total 2582 (delta 95), reused 1446 (delta 58)
>> remote: Resolving deltas: 100% (95/95), completed with 33 local objects.
>> To XXXX
>>  * [new branch]            refs/replace/XXXX -> refs/replace/XXXX
>
> Could you verify that refs/replace/XXXX (or one of its close ancestors)
> was fetched by the "git fetch --all" command? "--all" fetches all
> remotes, not all refs.

No, it was not fetched. HOWEVER, the ONLY thing the replace commit (1 single object) does is point to an existing parent object. No other new objects are referenced. Those 'ancestor' objects were all fetched.

Paul
Previous: Jonathan TanNext: Jeff King
Message 3 of 5 in “[BUG/FEATURE] Git pushing and fetching many more objects than strictly required”
  1. Paul van LoonNov 8, 2019
  2. Jonathan TanNov 8, 2019
  3. Paul van LoonNov 8, 2019
  4. Jeff KingNov 8, 2019
  5. Paul van LoonNov 12, 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.