Merge branch 'maint'
[gitweb.git] / Documentation / technical / index-format.txt
index 57d6f915b143765b9e58b3793f14795ddab71200..0810251f5a316de548d906bde65fba5af3507e4d 100644 (file)
@@ -1,7 +1,7 @@
-GIT index format
+Git index format
 ================
 
-== The git index file has the following format
+== The Git index file has the following format
 
   All binary numbers are in network byte order. Version 2 is described
   here unless stated otherwise.
@@ -12,7 +12,7 @@ GIT index format
        The signature is { 'D', 'I', 'R', 'C' } (stands for "dircache")
 
      4-byte version number:
-       The current supported versions are 2 and 3.
+       The current supported versions are 2, 3 and 4.
 
      32-bit number of index entries.
 
@@ -21,9 +21,9 @@ GIT index format
    - Extensions
 
      Extensions are identified by signature. Optional extensions can
-     be ignored if GIT does not understand them.
+     be ignored if Git does not understand them.
 
-     GIT currently supports cached tree and resolve undo extensions.
+     Git currently supports cached tree and resolve undo extensions.
 
      4-byte extension signature. If the first byte is 'A'..'Z' the
      extension is optional and can be ignored.
@@ -93,8 +93,8 @@ GIT index format
     12-bit name length if the length is less than 0xFFF; otherwise 0xFFF
     is stored in this field.
 
-  (Version 3) A 16-bit field, only applicable if the "extended flag"
-  above is 1, split into (high to low bits).
+  (Version 3 or later) A 16-bit field, only applicable if the
+  "extended flag" above is 1, split into (high to low bits).
 
     1-bit reserved for future
 
@@ -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