Re: propagating repo corruption across clone
- From
- Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
- Date
- Mar 24, 2013, 19:16 UTC
- Message-ID
- <20130324191614.GA15275@LK-Perkele-VII>
- In-Reply-To
- <20130324183133.GA11200@sigill.intra.peff.net>
On Sun, Mar 24, 2013 at 02:31:33PM -0400, Jeff King wrote:
Show 8 quoted lines
> > Fscking the incoming objects does work, but of course it comes at a cost > in the normal case (for linux-2.6, I measured an increase in CPU time > with "index-pack --strict" from ~2.5 minutes to ~4 minutes). And I think > it is probably overkill for finding corruption; index-pack already > recognizes bit corruption inside an object, and > check_everything_connected can detect object graph problems much more > cheaply.
AFAIK, standard checks index-pack has to do + checking that the object graph has no broken links (and every ref points to something valid) will catch everything except:
- SHA-1 collisions between corrupt objects and clean ones. - Corrupted refs (that still point to something valid). - "Born-corrupted" objects.
> One thing I didn't check is bit corruption inside a packed object that > still correctly zlib inflates. check_everything_connected will end up > reading all of the commits and trees (to walk them), but not the blobs.
Checking that everything is connected will (modulo SHA-1 collisions) save you there, at least if packv3 is used as transport stream.
-Ilari