Jeff King [off-list ref] writes:
quoted
+ # At the beginning of the REF_DELTA representation of $blob_3,
+ # write 20-byte base object name for $blob_1, instead of $blob_2.
+ # The binary representation of object name for $blob_1 is found
+ # at offset 4 + 4 + 256*4 = 1032 for 20 bytes.
+ dd if=${pack}.idx bs=1 count=20 skip=1032 | do_corrupt_object $blob_3 2 20 &&
+ test_must_fail git cat-file blob $blob_3 >/dev/null &&
I didn't want to bother coming up with the binary version of the
REF_DELTA sha1, so I used OFS_DELTA. :)
Yeah, I contemplated on doing something like this
printf "$(echo $blob_3 | sed -e 's/\(..\)/\\x\1/g')"
but of course printf "\xAA" is not in POSIX and at that point I
punted and instead read from .idx at the known offset ;-)