diff options
author | Jeff King <peff@peff.net> | 2017-11-27 01:04:12 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-11-27 15:09:56 +0900 |
commit | 5e83cca0b83b4a915f9ed246c2bcfeeb5a58b86b (patch) | |
tree | 908db13cb02fd251323300ddfc6802995f4867c6 /Documentation/git-status.txt | |
parent | 27344d6a6c8056664966e11acf674e5da6dd7ee3 (diff) | |
download | git-5e83cca0b83b4a915f9ed246c2bcfeeb5a58b86b.tar.gz |
git-status.txt: mention --no-optional-locksjk/no-optional-locks
If you come to the documentation thinking "I do not want Git
to take any locks for my background processes", then you may
easily run across "--no-optional-locks" in git.txt.
But it's quite reasonable to hit a specific instance of the
problem: you have "git status" running in the background,
and you notice that it causes lock contention with other
processes. So you look in git-status.txt to see if there is
a way to disable it, but there's no mention of the flag.
Let's add a short note mentioning that status does indeed
touch the index (and why), with a pointer to the global
option. That can point users in the right direction and help
them make a more informed decision about what they're
disabling.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-status.txt')
-rw-r--r-- | Documentation/git-status.txt | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index d47f198f15..23af8c6dc9 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.txt @@ -366,6 +366,19 @@ ignored submodules you can either use the --ignore-submodules=dirty command line option or the 'git submodule summary' command, which shows a similar output but does not honor these settings. +BACKGROUND REFRESH +------------------ + +By default, `git status` will automatically refresh the index, updating +the cached stat information from the working tree and writing out the +result. Writing out the updated index is an optimization that isn't +strictly necessary (`status` computes the values for itself, but writing +them out is just to save subsequent programs from repeating our +computation). When `status` is run in the background, the lock held +during the write may conflict with other simultaneous processes, causing +them to fail. Scripts running `status` in the background should consider +using `git --no-optional-locks status` (see linkgit:git[1] for details). + SEE ALSO -------- linkgit:gitignore[5] |