mirror of
https://github.com/git/git.git
synced 2026-02-18 13:49:51 +00:00
Merge branch 'jc/index-v4' into next
* jc/index-v4: index-v4: document the entry format unpack-trees: preserve the index file version of original
This commit is contained in:
@@ -113,9 +113,22 @@ GIT index format
|
||||
are encoded in 7-bit ASCII and the encoding cannot contain a NUL
|
||||
byte (iow, this is a UNIX pathname).
|
||||
|
||||
(Version 4) In version 4, the entry path name is prefix-compressed
|
||||
relative to the path name for the previous entry (the very first
|
||||
entry is encoded as if the path name for the previous entry is an
|
||||
empty string). At the beginning of an entry, an integer N in the
|
||||
variable width encoding (the same encoding as the offset is encoded
|
||||
for OFS_DELTA pack entries; see pack-format.txt) is stored, followed
|
||||
by a NUL-terminated string S. Removing N bytes from the end of the
|
||||
path name for the previous entry, and replacing it with the string S
|
||||
yields the path name for this entry.
|
||||
|
||||
1-8 nul bytes as necessary to pad the entry to a multiple of eight bytes
|
||||
while keeping the name NUL-terminated.
|
||||
|
||||
(Version 4) In version 4, the padding after the pathname does not
|
||||
exist.
|
||||
|
||||
== Extensions
|
||||
|
||||
=== Cached tree
|
||||
|
||||
@@ -1027,6 +1027,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
|
||||
o->result.initialized = 1;
|
||||
o->result.timestamp.sec = o->src_index->timestamp.sec;
|
||||
o->result.timestamp.nsec = o->src_index->timestamp.nsec;
|
||||
o->result.version = o->src_index->version;
|
||||
o->merge_size = len;
|
||||
mark_all_ce_unused(o->src_index);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user