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. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- > On Tue, Dec 26, 2017 at 05:47:19PM +0700, Duy Nguyen wrote: >> Strangely, root dir is not cached (no valid flag). I don't know why >> but that's ok we'll roll with it. > > I figured this out. Which is good because now I know how/why the bug > happens. Thanks a lot. I think it's probably good to apply something like this on top of this now 3-patch series. Documentation/git-update-index.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt index bdb0342593..bc6c32002f 100644 --- a/Documentation/git-update-index.txt +++ b/Documentation/git-update-index.txt @@ -464,6 +464,17 @@ 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.16, 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 was (and this might work for other undiscoverd bugs in the +future): + +---------------- +$ git -c core.untrackedCache=false status +---------------- + File System Monitor ------------------- -- 2.15.1.424.g9478a66081