Merge branch 'jk/no-optional-locks'
authorJunio C Hamano <gitster@pobox.com>
Wed, 13 Dec 2017 21:28:58 +0000 (13:28 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Dec 2017 21:28:58 +0000 (13:28 -0800)
Doc update for a feature available in Git v2.14 and upwards.

* jk/no-optional-locks:
git-status.txt: mention --no-optional-locks

1  2 
Documentation/git-status.txt
index fc282e0a920c84f491d24e3cf765ca634b54c425,23af8c6dc98a5589d83e70d905dfd82fb80dbb09..81cab9aefb014690d93f9602ebebc9058c3d168e
@@@ -97,27 -97,8 +97,27 @@@ configuration variable documented in li
        (and suppresses the output of submodule summaries when the config option
        `status.submoduleSummary` is set).
  
 ---ignored::
 +--ignored[=<mode>]::
        Show ignored files as well.
 ++
 +The mode parameter is used to specify the handling of ignored files.
 +It is optional: it defaults to 'traditional'.
 ++
 +The possible options are:
 ++
 +      - 'traditional' - Shows ignored files and directories, unless
 +                        --untracked-files=all is specifed, in which case
 +                        individual files in ignored directories are
 +                        displayed.
 +      - 'no'          - Show no ignored files.
 +      - 'matching'    - Shows ignored files and directories matching an
 +                        ignore pattern.
 ++
 +When 'matching' mode is specified, paths that explicity match an
 +ignored pattern are shown. If a directory matches an ignore pattern,
 +then it is shown, but not paths contained in the ignored directory. If
 +a directory does not match an ignore pattern, but all contents are
 +ignored, then the directory is not shown, but all contents are shown.
  
  -z::
        Terminate entries with NUL, instead of LF.  This implies
        without options are equivalent to 'always' and 'never'
        respectively.
  
 +<pathspec>...::
 +      See the 'pathspec' entry in linkgit:gitglossary[7].
  
  OUTPUT
  ------
@@@ -387,6 -366,19 +387,19 @@@ ignored submodules you can either use t
  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]