The official documentation describes the format of packfiles to include 6 types of objects, i.e. Commit
, Blob
, Tree
, Tag
, OffsetDelta
and RefDelta
. OffsetDelta
is clearly described as being defined in context of an object (which itself can be a delta) earlier in the pack. However, RefDelta
can be defined in context of any object based solely on the ObjectId
.
The documentation mentions that RefDelta
s are typically used to delta against objects outside the pack (so called thin-packs
) but can they be used to delta against objects in the same pack? I am manually generating packfiles so I am curious to know the standard practice with respect to packfile format.