From: Shawn O. Pearce Date: Tue, 27 Jul 2010 17:03:17 GMT Subject: Re: object/pack size x5 larger than a fresh clone? Message-ID: <20100727170317.GC25268@spearce.org> In-Reply-To: <7v7hkg982j.fsf@alter.siamese.dyndns.org> Junio C Hamano wrote: > Hin-Tak Leung 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.