index-format.txt: clarify what is "invalid"

A cache-tree entry with a negative entry count is considered invalid
by the current Git; it records that we do not know the object name
of a tree that would result by writing the directory covered by the
cache-tree as a tree object.

Clarify that any entry with a negative entry count is invalid, but
the implementations must write -1 there. This way, we can later
decide to allow writers to use negative values other than -1 to
encode optional information on such invalidated entries without
harming interoperability; we do not know what will be encoded and
how, so we keep these other negative values as reserved for now.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 2012-12-13 08:14:47 +07:00 committed by Junio C Hamano
parent afd7bd2220
commit 4a6385fe55
1 changed files with 3 additions and 2 deletions

View File

@ -161,8 +161,9 @@ GIT index format
this span of index as a tree. this span of index as a tree.


An entry can be in an invalidated state and is represented by having An entry can be in an invalidated state and is represented by having
-1 in the entry_count field. In this case, there is no object name a negative number in the entry_count field. In this case, there is no
and the next entry starts immediately after the newline. object name and the next entry starts immediately after the newline.
When writing an invalid entry, -1 should always be used as entry_count.


The entries are written out in the top-down, depth-first order. The The entries are written out in the top-down, depth-first order. The
first entry represents the root level of the repository, followed by the first entry represents the root level of the repository, followed by the