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