Subject: Re: object/pack size x5 larger than a fresh clone?

From: "Shawn O. Pearce" <[email-masked]>
Date: Tue, 27 Jul 2010 10:03:17 -0700

Junio C Hamano <[email-masked]> wrote:
> Hin-Tak Leung <[email-masked]> writes:
> 
> > So I guess these *.idx without a corresponding *.pack are safe to
> > delete? But git gc or one of the other house keeping commands should
> > get rid of them though, I think.
> 
> I agree.  I think the dumb transports like http:// grab *.idx files
> without downloading corresponding *.pack files when they encounter an
> object that is not found loose in the originating repository to see which
> packfile to fetch, but after they are done (or when they are interrupted,
> for that matter), these *.idx files may not be getting garbage-collected.
> 
> And they should be, perhaps with or without some grace period (I don't
> know which offhand---I didn't think this through).

We should GC these, but only after a grace period.

Long ago when I used dumb http it really helped to have the *.idx
files cached.  If the upstream only did an incremental repack holding
onto the *.idx files locally meant I didn't need to redownload
them in order to rule-out those packs as onces interesting for the
current fetch.

Maybe we just prune those during git fetch if they don't have a
local *.pack and they don't match a pack listed by the remote's
objects/info/packs file?

-- 
Shawn.