threads / discuss / 54142

Cleaning up files reported by size-garbage

Subject: Cleaning up files reported by size-garbage

## tl;dr

3 messages between Aug 27, 2020 and Aug 27, 2020.

replies: 2people: 2as markdown or json

Konstantin Ryabitsev· Aug 27, 2020, 15:55 UTC · lore
Hello:
Running git count-objects -v reports garbage files:

$ git count-objects -v warning: garbage found: ./objects/pack/tmp_pack_XSv8MO warning: garbage found: ./objects/pack/tmp_pack_2uOuMg warning: garbage found: ./objects/pack/tmp_pack_KzP1ja count: 19 size: 84 in-pack: 172456 packs: 6 size-pack: 63907 prune-packable: 0 garbage: 3 size-garbage: 1911

Is there a way to tell git to clean those up? I'm not finding anything and would rather avoid having to parse stderr in these cases.

Best, -K

Jeff King· Aug 27, 2020, 17:19 UTC · re: Konstantin Ryabitsev · lore

Re: Cleaning up files reported by size-garbage

On Thu, Aug 27, 2020 at 11:55:29AM -0400, Konstantin Ryabitsev wrote:
Show 17 quoted lines
> Running git count-objects -v reports garbage files:
> 
> $ git count-objects -v
> warning: garbage found: ./objects/pack/tmp_pack_XSv8MO
> warning: garbage found: ./objects/pack/tmp_pack_2uOuMg
> warning: garbage found: ./objects/pack/tmp_pack_KzP1ja
> count: 19
> size: 84
> in-pack: 172456
> packs: 6
> size-pack: 63907
> prune-packable: 0
> garbage: 3
> size-garbage: 1911
> 
> Is there a way to tell git to clean those up? I'm not finding anything 
> and would rather avoid having to parse stderr in these cases.

I think that git-gc will clean them up (via git-prune). It will also check that their mtimes are older than the expiration time, which avoids accidentally cleaning up the pack for an incoming fetch or push.

The default gc expiration time is 2 weeks, though, so you might want something like:

  git gc --prune=5.minutes.ago

if you're trying to get rid of them immediately. Likewise use git-prune directly if you don't want to incur the cost of a full gc/repack.

-Peff
Konstantin Ryabitsev· Aug 27, 2020, 17:36 UTC · re: Jeff King · lore

Re: Cleaning up files reported by size-garbage

On Thu, Aug 27, 2020 at 01:19:54PM -0400, Jeff King wrote:
Show 11 quoted lines
> I think that git-gc will clean them up (via git-prune). It will also
> check that their mtimes are older than the expiration time, which avoids
> accidentally cleaning up the pack for an incoming fetch or push.
> 
> The default gc expiration time is 2 weeks, though, so you might want
> something like:
> 
>   git gc --prune=5.minutes.ago
> 
> if you're trying to get rid of them immediately. Likewise use git-prune
> directly if you don't want to incur the cost of a full gc/repack.

Oh, you're totally right. For some reason I was convinced that git-prune didn't touch them, but I stand corrected.

Thanks for the pointer!
-K

← back to recent threads