update-index doc: note a fixed bug in the untracked cache

Document the bug tested for in my "status: add a failing test showing
a core.untrackedCache bug" and fixed in Duy's "dir.c: fix missing dir
invalidation in untracked code".

Since this is very likely something others will encounter in the
future on older versions, and it's not obvious how to fix it let's
document both that it exists, and how to "fix" it with a one-off
command.

As noted in that commit, even though this bug gets the untracked cache
into a bad state, we have not yet found a case where this is user
visible, and thus it makes sense for these docs to focus on the
symlink case only.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2018-02-09 21:04:30 +00:00 коммит произвёл Junio C Hamano
Родитель 0cacebf099
Коммит 9b978691b1
1 изменённых файлов: 16 добавлений и 0 удалений

Просмотреть файл

@ -464,6 +464,22 @@ command reads the index; while when `--[no-|force-]untracked-cache`
are used, the untracked cache is immediately added to or removed from
the index.
Before 2.17, the untracked cache had a bug where replacing a directory
with a symlink to another directory could cause it to incorrectly show
files tracked by git as untracked. See the "status: add a failing test
showing a core.untrackedCache bug" commit to git.git. A workaround for
that is (and this might work for other undiscovered bugs in the
future):
----------------
$ git -c core.untrackedCache=false status
----------------
This bug has also been shown to affect non-symlink cases of replacing
a directory with a file when it comes to the internal structures of
the untracked cache, but no case has been reported where this resulted in
wrong "git status" output.
File System Monitor
-------------------