Re: [PATCH 3/2] t5309: mark delta-cycle failover tests as passing
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 2, 2014, 17:19 UTC
- Message-ID
- <xmqqoauy2b4m.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20140831151550.GA16499@peff.net>
Jeff King <peff@peff.net> writes:
Show 6 quoted lines
> We used to do that because the only way to correctly resolve them was by > introducing a duplicate base object, and we did not allow that. Patch 2 > from my series loosened this, which makes index-pack work, but not > necessarily the rest of git. And since index-pack is the gatekeeper on > receiving objects from remotes, it needs to be the _most_ picky. So my > series is definitely a regression as-is.
Yeah, at first, allowing the delta resolution so that we can resurrect data from such a corrupt pack looked a no-brainer improvement, but I think that is probably a right conclusion. Thanks for digging this one through.
Show 5 quoted lines
> I wonder if index-pack is really the right place for such a "please > help me get the data out of this broken pack" operation in the > first place. If it is a broken pack, we are probably much better > off to explode it into loose objects than try to index a broken > pack. That's way less efficient, but this should be a last-resort.
Most objects in such a broken pack do not have to get unpacked, no? I wonder if we can excise duplicate objects from the pack stream, which would involve adjusting the delta offset for any ofs-delta representations that appear after the part we cut out of the stream to remove such cruft.