summaryrefslogtreecommitdiff
path: root/Documentation/technical
diff options
context:
space:
mode:
authorLibravatar Peter Eriksen <s022018@student.dtu.dk>2008-04-06 22:51:49 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-04-06 17:22:46 -0700
commit9de328fea951eca9524feaa5eb55762467df6b98 (patch)
tree130db814b2c6d3583f163cd034b8608d8ede75ed /Documentation/technical
parentgit-pack-objects.txt: Make wording slightly less ambiguous (diff)
downloadtgif-9de328fea951eca9524feaa5eb55762467df6b98.tar.xz
Add description of OFS_DELTA to the pack format description
Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/technical')
-rw-r--r--Documentation/technical/pack-format.txt16
1 files changed, 15 insertions, 1 deletions
diff --git a/Documentation/technical/pack-format.txt b/Documentation/technical/pack-format.txt
index aa87756a55..1803e64e46 100644
--- a/Documentation/technical/pack-format.txt
+++ b/Documentation/technical/pack-format.txt
@@ -103,10 +103,24 @@ 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) interpreted as a negative
+ offset from the type-byte of the header of the
+ ofs-delta entry (the size above is the size of
+ the delta data that follows).
+ delta data, deflated.
+
+ 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
+ for n >= 2 adding 2^7 + 2^14 + ... + 2^(7*(n-1))
+ to the result.
+
= Version 2 pack-*.idx files support packs larger than 4 GiB, and