Re: [PATCH 2/2] unpack_entry: do not die when we fail to apply a delta
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 14, 2013, 21:59 UTC
- Message-ID
- <7vk3lwmk0r.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20130614215334.GB3821@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 5 quoted lines
> 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 ;-)
Show 21 quoted lines
> + 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 &&