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

Re: [PATCH] receive-pack, fetch-pack: reject bogus pack that records objects twice

From
Jeff King <peff@peff.net>
Date
Nov 18, 2011, 18:44 UTC
Message-ID
<20111118184455.GA13782@sigill.intra.peff.net>
In-Reply-To
<7vd3cpl1cw.fsf@alter.siamese.dyndns.org>
On Fri, Nov 18, 2011 at 10:41:35AM -0800, Junio C Hamano wrote:
Show 11 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > If we are fixing a thin pack (which should be the case most of the
> > time), we are rewriting the packfile anyway. Shouldn't we just omit
> > the duplicate?
> 
> Excising unwanted objects from the middle of an existing packfile would
> mean you would need an equivalent of memmove() in the file, which amounts
> to really rewriting the packfile, but the thing is, we are _not_ rewriting
> in that sense in "index-pack --fix-thin"; it only appends and adjust the
> fixed-size header.

I thought we took the packfile over --stdin, and we really were writing the entire thing to disk as we processed it. So we could just suppress writing the second entry. But I guess there is some complexity with deltified entries? As in, if the first entry is deltified but the second is not, you would want to keep the second one?

I'm not complaining if it's really too hard to do in practice, or not worth the trouble. I just still don't understand what is causing these and when it would come up.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 8 in “receive-pack, fetch-pack: reject bogus pack that records objects twice”
  1. receive-pack, fetch-pack: reject bogus pack that records objects twiceJunio C Hamano, Nov 17, 2011
  2. Shawn PearceNov 17, 2011
  3. Jeff KingNov 18, 2011
  4. Junio C HamanoNov 18, 2011
  5. Jeff KingNov 18, 2011
  6. Junio C HamanoNov 18, 2011
  7. Jeff KingNov 18, 2011
  8. Shawn PearceNov 18, 2011

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.