Documentation/git-update-index: explain splitIndex.*
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b2dd1c5c34
commit
b46013950a
@ -2795,7 +2795,7 @@ splitIndex.sharedIndexExpire::
|
|||||||
The default value is "2.weeks.ago".
|
The default value is "2.weeks.ago".
|
||||||
Note that a shared index file is considered modified (for the
|
Note that a shared index file is considered modified (for the
|
||||||
purpose of expiration) each time a new split-index file is
|
purpose of expiration) each time a new split-index file is
|
||||||
created based on it.
|
either created based on it or read from it.
|
||||||
See linkgit:git-update-index[1].
|
See linkgit:git-update-index[1].
|
||||||
|
|
||||||
status.relativePaths::
|
status.relativePaths::
|
||||||
|
@ -163,14 +163,10 @@ may not support it yet.
|
|||||||
|
|
||||||
--split-index::
|
--split-index::
|
||||||
--no-split-index::
|
--no-split-index::
|
||||||
Enable or disable split index mode. If enabled, the index is
|
Enable or disable split index mode. If split-index mode is
|
||||||
split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>.
|
already enabled and `--split-index` is given again, all
|
||||||
Changes are accumulated in $GIT_DIR/index while the shared
|
changes in $GIT_DIR/index are pushed back to the shared index
|
||||||
index file contains all index entries stays unchanged. If
|
file.
|
||||||
split-index mode is already enabled and `--split-index` is
|
|
||||||
given again, all changes in $GIT_DIR/index are pushed back to
|
|
||||||
the shared index file. This mode is designed for very large
|
|
||||||
indexes that take a significant amount of time to read or write.
|
|
||||||
+
|
+
|
||||||
These options take effect whatever the value of the `core.splitIndex`
|
These options take effect whatever the value of the `core.splitIndex`
|
||||||
configuration variable (see linkgit:git-config[1]). But a warning is
|
configuration variable (see linkgit:git-config[1]). But a warning is
|
||||||
@ -394,6 +390,31 @@ Although this bit looks similar to assume-unchanged bit, its goal is
|
|||||||
different from assume-unchanged bit's. Skip-worktree also takes
|
different from assume-unchanged bit's. Skip-worktree also takes
|
||||||
precedence over assume-unchanged bit when both are set.
|
precedence over assume-unchanged bit when both are set.
|
||||||
|
|
||||||
|
Split index
|
||||||
|
-----------
|
||||||
|
|
||||||
|
This mode is designed for repositories with very large indexes, and
|
||||||
|
aims at reducing the time it takes to repeatedly write these indexes.
|
||||||
|
|
||||||
|
In this mode, the index is split into two files, $GIT_DIR/index and
|
||||||
|
$GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in
|
||||||
|
$GIT_DIR/index, the split index, while the shared index file contains
|
||||||
|
all index entries and stays unchanged.
|
||||||
|
|
||||||
|
All changes in the split index are pushed back to the shared index
|
||||||
|
file when the number of entries in the split index reaches a level
|
||||||
|
specified by the splitIndex.maxPercentChange config variable (see
|
||||||
|
linkgit:git-config[1]).
|
||||||
|
|
||||||
|
Each time a new shared index file is created, the old shared index
|
||||||
|
files are deleted if their modification time is older than what is
|
||||||
|
specified by the splitIndex.sharedIndexExpire config variable (see
|
||||||
|
linkgit:git-config[1]).
|
||||||
|
|
||||||
|
To avoid deleting a shared index file that is still used, its
|
||||||
|
modification time is updated to the current time everytime a new split
|
||||||
|
index based on the shared index file is either created or read from.
|
||||||
|
|
||||||
Untracked cache
|
Untracked cache
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user