From: Junio C Hamano Date: Fri, 14 Jun 2013 22:23:16 GMT Subject: Re: [PATCH 0/2] recover from "failed to apply delta" Message-ID: <7vbo78miwb.fsf@alter.siamese.dyndns.org> In-Reply-To: <20130614215618.GB29138@sigill.intra.peff.net> Jeff King writes: >> + # 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 ;-)