Jeff King <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html