index-v4: document the entry format
Document the format so that others can learn from and build on top of the series. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9170c7ab28
commit
afd7bd2220
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user