On Thu, Oct 19, 2006 at 07:30:27PM -0700, Junio C Hamano wrote: > Jan Harkes <jaharkes@xxxxxxxxxx> writes: > > > I guess I'll grep through the mailinglists to try to figure out what > > these OFS and REF deltas are and why they behave so differently > > depending on their order in the pack. > > It's been cooking in "next" branch for quite a while. Ah yes, just went through the thread about the git-index-pack breaking on 64-bit systems and the back and forth about the possible complexity of the new code. > It is really simple: > > - if the found union content matches with a reference union initialized > through the sha1 member then deltas[j].obj->type == OBJ_REF_DELTA > must be true. > > - if the found union content matches with a reference union initialized > through the sha1 member then deltas[j].obj->type == OBJ_OFS_DELTA > must be true. ... I guess one of these must be false. But clearly this patch breaks those offset based delta's when we expand random deltas in place. Jan - 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