threads / discuss / 45156

There are too many unreachable loose objects

Subject: There are too many unreachable loose objects

## tl;dr

6 messages between Feb 16, 2017 and Jun 9, 2017.

replies: 5people: 4as markdown or json

Hilco Wijbenga· Feb 16, 2017, 21:58 UTC · lore
Hi all,
Whenever I run "git push --force(-with-lease)" I get a variation of
Counting objects: 187, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (126/126), done.
Writing objects: 100% (187/187), 21.35 KiB | 0 bytes/s, done.
Total 187 (delta 78), reused 71 (delta 20)
warning: There are too many unreachable loose objects; run 'git prune'
to remove them.
To git@git.company.com:project.git
 + 51338ea...b0ebe39 my-branch -> my-branch (forced update)

So I'll run "git prune" and, for good measure, "git gc" (which even includes "git prune"?). The first seems to do nothing, the latter does its thing.

And then the next time (which could be a few minutes later) I get the same warning. My branches aren't that big, the largest ever had 40-ish commits. So abandoning a few dozen commits should not lead to this warning, I would think.

What am I doing wrong?

Cheers, Hilco

Jacob Keller· Feb 16, 2017, 22:36 UTC · re: Hilco Wijbenga · lore

Re: There are too many unreachable loose objects

On Thu, Feb 16, 2017 at 1:58 PM, Hilco Wijbenga <hilco.wijbenga@gmail.com> wrote:

Show 18 quoted lines
> Hi all,
>
> Whenever I run "git push --force(-with-lease)" I get a variation of
>
> Counting objects: 187, done.
> Delta compression using up to 12 threads.
> Compressing objects: 100% (126/126), done.
> Writing objects: 100% (187/187), 21.35 KiB | 0 bytes/s, done.
> Total 187 (delta 78), reused 71 (delta 20)
> warning: There are too many unreachable loose objects; run 'git prune'
> to remove them.
> To git@git.company.com:project.git
>  + 51338ea...b0ebe39 my-branch -> my-branch (forced update)
>
> So I'll run "git prune" and, for good measure, "git gc" (which even
> includes "git prune"?). The first seems to do nothing, the latter does
> its thing.
>

It may be that it's the server side that needs to git-prune, and not your local side? I'm not really certain but you're doing a push which talks to a remote server.

Thanks, Jake

Show 9 quoted lines
> And then the next time (which could be a few minutes later) I get the
> same warning. My branches aren't that big, the largest ever had 40-ish
> commits. So abandoning a few dozen commits should not lead to this
> warning, I would think.
>
> What am I doing wrong?
>
> Cheers,
> Hilco
Jeff King· Feb 16, 2017, 22:57 UTC · re: Jacob Keller · lore

Re: There are too many unreachable loose objects

On Thu, Feb 16, 2017 at 02:36:10PM -0800, Jacob Keller wrote:
Show 20 quoted lines
> > Whenever I run "git push --force(-with-lease)" I get a variation of
> >
> > Counting objects: 187, done.
> > Delta compression using up to 12 threads.
> > Compressing objects: 100% (126/126), done.
> > Writing objects: 100% (187/187), 21.35 KiB | 0 bytes/s, done.
> > Total 187 (delta 78), reused 71 (delta 20)
> > warning: There are too many unreachable loose objects; run 'git prune'
> > to remove them.
> > To git@git.company.com:project.git
> >  + 51338ea...b0ebe39 my-branch -> my-branch (forced update)
> >
> > So I'll run "git prune" and, for good measure, "git gc" (which even
> > includes "git prune"?). The first seems to do nothing, the latter does
> > its thing.
> >
> 
> It may be that it's the server side that needs to git-prune, and not
> your local side? I'm not really certain but you're doing a push which
> talks to a remote server.

Yes, certainly the position in the output implies that. These days you should see:

  remote: warning: There are too many...

to make it more clear. Perhaps the server is too old to have 860a2ebec (receive-pack: send auto-gc output over sideband 2, 2016-06-05).

-Peff
Lars Schneider· Jun 8, 2017, 12:52 UTC · re: Jeff King · lore

Re: There are too many unreachable loose objects

Show 32 quoted lines
> On 16 Feb 2017, at 23:57, Jeff King <peff@peff.net> wrote:
> 
> On Thu, Feb 16, 2017 at 02:36:10PM -0800, Jacob Keller wrote:
> 
>>> Whenever I run "git push --force(-with-lease)" I get a variation of
>>> 
>>> Counting objects: 187, done.
>>> Delta compression using up to 12 threads.
>>> Compressing objects: 100% (126/126), done.
>>> Writing objects: 100% (187/187), 21.35 KiB | 0 bytes/s, done.
>>> Total 187 (delta 78), reused 71 (delta 20)
>>> warning: There are too many unreachable loose objects; run 'git prune'
>>> to remove them.
>>> To git@git.company.com:project.git
>>> + 51338ea...b0ebe39 my-branch -> my-branch (forced update)
>>> 
>>> So I'll run "git prune" and, for good measure, "git gc" (which even
>>> includes "git prune"?). The first seems to do nothing, the latter does
>>> its thing.
>>> 
>> 
>> It may be that it's the server side that needs to git-prune, and not
>> your local side? I'm not really certain but you're doing a push which
>> talks to a remote server.
> 
> Yes, certainly the position in the output implies that. These days you
> should see:
> 
>  remote: warning: There are too many...
> 
> to make it more clear. Perhaps the server is too old to have 860a2ebec
> (receive-pack: send auto-gc output over sideband 2, 2016-06-05).
Do you know if GHE 2.9.4 has this fix? (Is it OK to ask this here?)
Context: http://public-inbox.org/git/9C2F2EA2-0C59-4EA2-8C8E-10228FB82D90@gmail.com/

Thanks, Lars

Jeff King· Jun 9, 2017, 05:36 UTC · re: Lars Schneider · lore

Re: There are too many unreachable loose objects

On Thu, Jun 08, 2017 at 02:52:42PM +0200, Lars Schneider wrote:
Show 14 quoted lines
> >> It may be that it's the server side that needs to git-prune, and not
> >> your local side? I'm not really certain but you're doing a push which
> >> talks to a remote server.
> > 
> > Yes, certainly the position in the output implies that. These days you
> > should see:
> > 
> >  remote: warning: There are too many...
> > 
> > to make it more clear. Perhaps the server is too old to have 860a2ebec
> > (receive-pack: send auto-gc output over sideband 2, 2016-06-05).
> 
> Do you know if GHE 2.9.4 has this fix? (Is it OK to ask this here?)
> Context: http://public-inbox.org/git/9C2F2EA2-0C59-4EA2-8C8E-10228FB82D90@gmail.com/

It's probably not the best place to ask, as I don't think there is an easy way to find the answer unless you have the GHE source code. But the answer is no, it's in GHE 2.10.0.

Actually, I guess you could run "git version" on the GHE box; the version numbers show the latest version of upstream Git that has been merged. This particular commit is in Git v2.10.0 (coincidental to the GHE version above; the versions are totally independent).

-Peff
Lars Schneider· Jun 9, 2017, 11:10 UTC · re: Jeff King · lore

Re: There are too many unreachable loose objects

Show 22 quoted lines
> On 09 Jun 2017, at 07:36, Jeff King <peff@peff.net> wrote:
> 
> On Thu, Jun 08, 2017 at 02:52:42PM +0200, Lars Schneider wrote:
> 
>>>> It may be that it's the server side that needs to git-prune, and not
>>>> your local side? I'm not really certain but you're doing a push which
>>>> talks to a remote server.
>>> 
>>> Yes, certainly the position in the output implies that. These days you
>>> should see:
>>> 
>>> remote: warning: There are too many...
>>> 
>>> to make it more clear. Perhaps the server is too old to have 860a2ebec
>>> (receive-pack: send auto-gc output over sideband 2, 2016-06-05).
>> 
>> Do you know if GHE 2.9.4 has this fix? (Is it OK to ask this here?)
>> Context: http://public-inbox.org/git/9C2F2EA2-0C59-4EA2-8C8E-10228FB82D90@gmail.com/
> 
> It's probably not the best place to ask, as I don't think there is an
> easy way to find the answer unless you have the GHE source code. But the
> answer is no, it's in GHE 2.10.0.
OK!
> Actually, I guess you could run "git version" on the GHE box; the
> version numbers show the latest version of upstream Git that has been
> merged. This particular commit is in Git v2.10.0 (coincidental to the
> GHE version above; the versions are totally independent).
Thanks for the `git version` tip :-)
- Lars

← back to recent threads