index-format.txt: clarify what is "invalid"
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Thu, 13 Dec 2012 01:14:47 +0000 (08:14 +0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Dec 2012 18:12:25 +0000 (10:12 -0800)
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>
Documentation/technical/index-format.txt

index 9d25b30178e30458deded19a77f66e7dd0df1227..ce28a7a6c3cf7ae7429b8317fbf3fdd3cf081817 100644 (file)
@@ -161,8 +161,9 @@ GIT index format
     this span of index as a tree.
 
   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
-  and the next entry starts immediately after the newline.
+  a negative number in the entry_count field. In this case, there is no
+  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
   first entry represents the root level of the repository, followed by the