summaryrefslogtreecommitdiff
path: root/Documentation/technical
diff options
context:
space:
mode:
authorPeter Eriksen <s022018@student.dtu.dk>2008-04-06 20:51:49 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-04-07 00:22:46 (GMT)
commit9de328fea951eca9524feaa5eb55762467df6b98 (patch)
tree130db814b2c6d3583f163cd034b8608d8ede75ed /Documentation/technical
parentba1333fec3df7496839106ee8730939d100d989d (diff)
downloadgit-9de328fea951eca9524feaa5eb55762467df6b98.zip
git-9de328fea951eca9524feaa5eb55762467df6b98.tar.gz
git-9de328fea951eca9524feaa5eb55762467df6b98.tar.bz2
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 aa87756..1803e64 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