On Fri, Jun 14, 2013 at 02:59:00PM -0700, Junio C Hamano wrote: > 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 ;-) Yes. We could get it with: git show-index <"$pack.idx" | cut -d' ' -f1 | perl -e ' @pos = map { chomp; $_ } <>; my $ofs = $pos[2] - $pos[0]; my @bin; unshift @bin, $ofs & 127; while ($ofs >>= 7) { $ofs--; unshift @bin, 128 | ($ofs & 127); } binmode STDOUT; print chr for @bin; ' if that's not too ugly. Maybe the REF_DELTA one is less ugly, then, as it would not need to do the packed offset encoding, but just convert $blob1 from hex into binary. -Peff -- 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