Junio C Hamano <gitster@xxxxxxxxx> writes: > Jeff King <peff@xxxxxxxx> writes: > >> lookup does not. It hits an assert() that can only be triggered in the >> face of duplicate objects. For example: >> >> $ git cat-file -t 4ea4acbcb0930ac42acc87a0d203864dec1a9697 >> commit >> >> $ GIT_USE_LOOKUP=1 git cat-file -t 4ea4acbcb0930ac42acc87a0d203864dec1a9697 >> git: sha1-lookup.c:222: sha1_entry_pos: Assertion `lov < hiv' failed. >> Aborted > > Older versions of JGit used to put duplicate objects in a pack, and > IIRC Shawn declared that a bug in the packer and fixed it, so from > that point of view, I think rejecting is probably the right thing, > even though I think warning and continuing is also acceptable and > indeed may be better. Also repacking may have a funny corner case. I do not recall the details as the above was a long time ago, but when I was tracking it down, a delta was made against one copy of the base object, and referred to it using delta-offset, while there was another copy of the base object which was found by the bisection search, and from there on, the inconsistencies between these two (they represent the same payload, but they are at different offsets in the same pack and with different in-pack sizes) led to some funky behaviour. -- 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