]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'dl/doc-config-camelcase'
authorJunio C Hamano <gitster@pobox.com>
Fri, 26 Feb 2021 00:43:32 +0000 (16:43 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 26 Feb 2021 00:43:32 +0000 (16:43 -0800)
A handful of multi-word configuration variable names in
documentation that are spelled in all lowercase have been corrected
to use the more canonical camelCase.

* dl/doc-config-camelcase:
  index-format doc: camelCase core.excludesFile
  blame-options.txt: camelcase blame.blankBoundary
  i18n.txt: camel case and monospace "i18n.commitEncoding"

1  2 
Documentation/technical/index-format.txt

index b633482b1bdff109015649258b248b60ecf36ee8,8af608055f92e213fbcfe9abe03814f1b51b10ab..d363a71c37ec46172ccce3aedb1c2b5e9bef410f
@@@ -26,7 -26,7 +26,7 @@@ Git index forma
       Extensions are identified by signature. Optional extensions can
       be ignored if Git does not understand them.
  
 -     Git currently supports cached tree and resolve undo extensions.
 +     Git currently supports cache tree and resolve undo extensions.
  
       4-byte extension signature. If the first byte is 'A'..'Z' the
       extension is optional and can be ignored.
  
  == Extensions
  
 -=== Cached tree
 -
 -  Cached tree extension contains pre-computed hashes for trees that can
 -  be derived from the index. It helps speed up tree object generation
 -  from index for a new commit.
 -
 -  When a path is updated in index, the path must be invalidated and
 -  removed from tree cache.
 +=== Cache tree
 +
 +  Since the index does not record entries for directories, the cache
 +  entries cannot describe tree objects that already exist in the object
 +  database for regions of the index that are unchanged from an existing
 +  commit. The cache tree extension stores a recursive tree structure that
 +  describes the trees that already exist and completely match sections of
 +  the cache entries. This speeds up tree object generation from the index
 +  for a new commit by only computing the trees that are "new" to that
 +  commit. It also assists when comparing the index to another tree, such
 +  as `HEAD^{tree}`, since sections of the index can be skipped when a tree
 +  comparison demonstrates equality.
 +
 +  The recursive tree structure uses nodes that store a number of cache
 +  entries, a list of subnodes, and an object ID (OID). The OID references
 +  the existing tree for that node, if it is known to exist. The subnodes
 +  correspond to subdirectories that themselves have cache tree nodes. The
 +  number of cache entries corresponds to the number of cache entries in
 +  the index that describe paths within that tree's directory.
 +
 +  The extension tracks the full directory structure in the cache tree
 +  extension, but this is generally smaller than the full cache entry list.
 +
 +  When a path is updated in index, Git invalidates all nodes of the
 +  recursive cache tree corresponding to the parent directories of that
 +  path. We store these tree nodes as being "invalid" by using "-1" as the
 +  number of cache entries. Invalid nodes still store a span of index
 +  entries, allowing Git to focus its efforts when reconstructing a full
 +  cache tree.
  
    The signature for this extension is { 'T', 'R', 'E', 'E' }.
  
    first entry represents the root level of the repository, followed by the
    first subtree--let's call this A--of the root level (with its name
    relative to the root level), followed by the first subtree of A (with
 -  its name relative to A), ...
 +  its name relative to A), and so on. The specified number of subtrees
 +  indicates when the current level of the recursive stack is complete.
  
  === Resolve undo
  
    - Stat data of $GIT_DIR/info/exclude. See "Index entry" section from
      ctime field until "file size".
  
-   - Stat data of core.excludesfile
+   - Stat data of core.excludesFile
  
    - 32-bit dir_flags (see struct dir_struct)
  
    - Hash of $GIT_DIR/info/exclude. A null hash means the file
      does not exist.
  
-   - Hash of core.excludesfile. A null hash means the file does
+   - Hash of core.excludesFile. A null hash means the file does
      not exist.
  
    - NUL-terminated string of per-dir exclude file name. This usually