On Fri, Sep 6, 2013 at 10:23 AM, Nicolas Pitre <[email protected]> wrote:
> On Fri, 6 Sep 2013, Nguyn Thái Ng÷c Duy wrote:
>
>>
>> Signed-off-by: Nguyn Thái Ng÷c Duy <[email protected]>
>> ---
>> Should be up to date with Nico's latest implementation and also cover
>> additions to the format that everybody seems to agree on:
>>
>> - new types for canonical trees and commits
>> - sha-1 table covering missing objects in thin packs
>
> Great! I've merged this into my branch with the following amendment:
I'd like to propose another change in the format to basically limit
the use of sha1ref format "\0<SHA-1>" to tree entries only. All forms
of deltas must have non-zero sha1 index (i.e. reference to SHA-1
table). It will simplify handling code, and I think it makes sense too
diff --git a/Documentation/technical/pack-format.txt
b/Documentation/technical/pack-format.txt
index d0c2cde..399416b 100644
--- a/Documentation/technical/pack-format.txt
+++ b/Documentation/technical/pack-format.txt
@@ -74,7 +74,8 @@ Git pack format
Blobs and tags are deltified and compressed the same way in
v3. Commits are not deltified. Trees are deltified using
- special copy sequences.
+ special copy sequences. The base object name index in deltified
+ format must not be zero (i.e. it must point to SHA-1 table).
Trees and commits in canonical types are in the same format as
v2: in canonical format and deflated. They can be used for
@@ -166,6 +167,8 @@ Git pack format
set, it will be followed by a base tree SHA-1. If it's not set,
the last base tree will be used.
+ base_sha1_index cannot be zero and followed by full SHA-1.
+
== Original (version 1) pack-*.idx files have the following format:
- The header consists of 256 4-byte network byte order
--
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html