* Incremental 'git fetch' downloaded everything again
@ 2026-07-07 22:32 SZEDER Gábor
2026-07-07 22:51 ` Junio C Hamano
0 siblings, 1 reply; 2+ messages in thread
From: SZEDER Gábor @ 2026-07-07 22:32 UTC (permalink / raw)
To: git
I usually try to fetch from https://github.com/git/git daily, and
today morning something unusual happened:
$ git fetch
remote: Enumerating objects: 406099, done.
remote: Counting objects: 100% (1229/1229), done.
remote: Compressing objects: 100% (1044/1044), done.
remote: Total 406093 (delta 207), reused 1189 (delta 185), pack-reused 404864 (from 2)
Receiving objects: 100% (406093/406093), 292.22 MiB | 4.62 MiB/s, done.
Resolving deltas: 100% (308943/308943), done.
From https://github.com/git/git
+ ffe2b816f5...106a830b98 jch -> origin/jch (forced update)
e9019fcafe..f85a7e6620 master -> origin/master
+ c42f45431d...00534a21ce next -> origin/next (forced update)
+ f6884212b2...73452939f9 seen -> origin/seen (forced update)
Note that it downloaded over 400k objects in an almost 300MB packfile.
Looking at the objects that I already had and the objects in the newly
downloaded packfile:
$ git rev-list --objects origin/master@{1} origin/next@{1} origin/jch@{1} origin/seen@{1} | cut -d' ' -f1 | sort >existing-objects
$ git verify-pack -v .git/objects/pack/pack-080fedc9c19f711dd1b22103b382ede8925b90a6.idx | sed -n -E -e 's/^([0-9a-f]{40}) .*/\1/p' | sort >received-objects
$ wc -l existing-objects received-objects
406954 existing-objects
406093 received-objects
813047 total
$ git diff --no-index --stat existing-objects received-objects
existing-objects => received-objects | 3615 +++++++++++++---------------------
1 file changed, 1377 insertions(+), 2238 deletions(-)
The vast majority of objects were already available locally.
What's going on?!
This might be a recurring issue: I remember a similar large download
from 2 or 3 weeks ago, but back then I didn't have time to investigate
or to report.
I tried to reproduce this issue by attempting to recreate the state of
my git repository from yesterday in a new repo, but no luck, 'git
fetch' only downloads what's necessary.
I use a Git version based on next, with a bunch of my own patches on
top, but none of them has anything to do with object transfer and I've
been using most of them for years. I don't have any config set under
'fetch.*' or 'transfer.*'.
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: Incremental 'git fetch' downloaded everything again
2026-07-07 22:32 Incremental 'git fetch' downloaded everything again SZEDER Gábor
@ 2026-07-07 22:51 ` Junio C Hamano
0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2026-07-07 22:51 UTC (permalink / raw)
To: SZEDER Gábor; +Cc: git
SZEDER Gábor <szeder.dev@gmail.com> writes:
> I usually try to fetch from https://github.com/git/git daily, and
> today morning something unusual happened:
>
> $ git fetch
> remote: Enumerating objects: 406099, done.
> remote: Counting objects: 100% (1229/1229), done.
> remote: Compressing objects: 100% (1044/1044), done.
> remote: Total 406093 (delta 207), reused 1189 (delta 185), pack-reused 404864 (from 2)
> Receiving objects: 100% (406093/406093), 292.22 MiB | 4.62 MiB/s, done.
> Resolving deltas: 100% (308943/308943), done.
> From https://github.com/git/git
> + ffe2b816f5...106a830b98 jch -> origin/jch (forced update)
> e9019fcafe..f85a7e6620 master -> origin/master
> + c42f45431d...00534a21ce next -> origin/next (forced update)
> + f6884212b2...73452939f9 seen -> origin/seen (forced update)
The only difference I can think of is that 'next' has been rewound
recently, but because 'seen' and 'jch' are constantly reound, it
would be very strange that it made such a big difference.
So, sorry, no idea. If I were bug-hunting this, I would first try
to eliminate whatever GitHub runs on their server end from the
picture.
> Note that it downloaded over 400k objects in an almost 300MB packfile.
>
> Looking at the objects that I already had and the objects in the newly
> downloaded packfile:
>
> $ git rev-list --objects origin/master@{1} origin/next@{1} origin/jch@{1} origin/seen@{1} | cut -d' ' -f1 | sort >existing-objects
> $ git verify-pack -v .git/objects/pack/pack-080fedc9c19f711dd1b22103b382ede8925b90a6.idx | sed -n -E -e 's/^([0-9a-f]{40}) .*/\1/p' | sort >received-objects
> $ wc -l existing-objects received-objects
> 406954 existing-objects
> 406093 received-objects
> 813047 total
> $ git diff --no-index --stat existing-objects received-objects
> existing-objects => received-objects | 3615 +++++++++++++---------------------
> 1 file changed, 1377 insertions(+), 2238 deletions(-)
>
> The vast majority of objects were already available locally.
>
> What's going on?!
>
> This might be a recurring issue: I remember a similar large download
> from 2 or 3 weeks ago, but back then I didn't have time to investigate
> or to report.
> I tried to reproduce this issue by attempting to recreate the state of
> my git repository from yesterday in a new repo, but no luck, 'git
> fetch' only downloads what's necessary.
>
> I use a Git version based on next, with a bunch of my own patches on
> top, but none of them has anything to do with object transfer and I've
> been using most of them for years. I don't have any config set under
> 'fetch.*' or 'transfer.*'.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-07 22:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07 22:32 Incremental 'git fetch' downloaded everything again SZEDER Gábor
2026-07-07 22:51 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox