Peter Eriksen <s022018@xxxxxxxxxxxxxx> wrote: > diff --git a/Documentation/technical/pack-format.txt b/Documentation/technical/pack-format.txt > index aa87756..f6b1405 100644 > --- a/Documentation/technical/pack-format.txt > +++ b/Documentation/technical/pack-format.txt > @@ -103,10 +103,20 @@ Pack file entry: <+ > packed object data: > If it is not DELTA, then deflated bytes (the size above > is the size before compression). > - If it is DELTA, then > + If it is REF_DELTA, then > 20-byte base object name SHA1 (the size above is the > size of the delta data that follows). > delta data, deflated. > + If it is OFS_DELTA, then > + n-byte offset (see below) (the size above is the > + size of the delta data that follows). > + delta data, deflated. You are missing the description that the position within _this_ packfile is determined by: offset_of_type_byte - n_byte_offset The above can still be taken to mean the offset is from the start of the packfile or something like that. > + offset encoding: > + n bytes with MSB set in all but the last one. > + The offset is then the number constructed by > + concatenating the lower 7 bit of each byte, and > + adding 2^7 + 2^14 + ... + 2^(7*(n-1)) to the result. Hmm. I've just spent 5 minutes reading this and I'm still not certain what the result is. 2^0 only gets added to the result if there is at least 2 bytes of data in the offset encoding; in your description above it sounds like we should add 2^0 (1) even when there is only 1 offset byte (n=1), which is not correct. -- Shawn. -- 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