git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Shawn O. Pearce <spearce@spearce.org>
Date
Jul 27, 2010, 17:03 UTC
Message-ID
<20100727170317.GC25268@spearce.org>
In-Reply-To
<7v7hkg982j.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> wrote:
Show 14 quoted lines
> Hin-Tak Leung <hintak.leung@gmail.com> 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.
Previous: Junio C HamanoNext: Hin-Tak Leung
Message 5 of 6 in “object/pack size x5 larger than a fresh clone?”
  1. Hin-Tak LeungJul 24, 2010
  2. Andreas EricssonJul 26, 2010
  3. Hin-Tak LeungJul 26, 2010
  4. Junio C HamanoJul 27, 2010
  5. Shawn O. PearceJul 27, 2010
  6. Hin-Tak LeungJul 27, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.