Subject: Re: Remove unneeded packs

From: Lukas Sandström <[email-masked]>
Date: Sat, 12 Nov 2005 23:02:47 +0100

Marcel Holtmann wrote:
> you are right. It is exactly what I was looking for. I just saw it some
> minutes ago, when I pulled the latest git tree. However to make an old
> GCC 2.95 happy, the attached patch is needed.
> 
> I am not sure if it is fully working. It deletes a lot of old packs, but
> in case of the linux-2.6 tree it leaves on additional behind.
> 
> .git/objects/pack/pack-4d7682fb8230fef33eb518fa8e53885ec675795e.idx
> .git/objects/pack/pack-4d7682fb8230fef33eb518fa8e53885ec675795e.pack
> .git/objects/pack/pack-b3c6fbdfa36a326815de6358885c7a570a986b1b.pack
> .git/objects/pack/pack-b3c6fbdfa36a326815de6358885c7a570a986b1b.idx
> 
> The 4d76... is the current pack, but the b3c6... is an old one that is
> not needed anymore.
> 
> Regards
> 
> Marcel

This is most likley because the pack b3c6... contains unreachable objects.
git-pack-redundant only makes sure that all objects present in packfiles
still are present in packfiles after the redundant packs have been removed.

Thus, unreachable objects will also be considered as required.

Note that I haven't checked if this is the cause in this particular case,
but I have the same packfiles (I use the HTTP transport too).

I'm thinking of the possibility passing a list of objects to be ignored
on stdin to git-pack-redundant. This would hopefully solve this problem.

/Lukas Sandström