Jeff King <peff@xxxxxxxx> writes: > test_expect_success \ > + 'corruption of delta base reference pointing to wrong object' \ > + 'create_new_pack --delta-base-offset && > + git prune-packed && > + printf "\220\033" | do_corrupt_object $blob_3 2 && Interesting. You cheated in a different way with a hardcoded offset, instead of hardcoded knowledge of where the object name is stored in binary in the .idx file ;-) > + git cat-file blob $blob_1 >/dev/null && > + git cat-file blob $blob_2 >/dev/null && > + test_must_fail git cat-file blob $blob_3 >/dev/null' > + > +test_expect_success \ > + '... but having a loose copy allows for full recovery' \ > + 'mv ${pack}.idx tmp && > + git hash-object -t blob -w file_3 && > + mv tmp ${pack}.idx && > + git cat-file blob $blob_1 > /dev/null && > + git cat-file blob $blob_2 > /dev/null && > + git cat-file blob $blob_3 > /dev/null' > + > +test_expect_success \ > + '... and then a repack "clears" the corruption' \ > + 'do_repack --delta-base-offset --no-reuse-delta && > + git prune-packed && > + git verify-pack ${pack}.pack && > + git cat-file blob $blob_1 > /dev/null && > + git cat-file blob $blob_2 > /dev/null && > + git cat-file blob $blob_3 > /dev/null' Nice. Will replace the one I queued yesterday with these two patches. > +test_expect_success \ > 'corrupting header to have too small output buffer fails unpack' \ > 'create_new_pack && > git prune-packed && -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html