Thread (1 message) 1 message, 1 author, 2017-12-27

Re: [PATCH 3/1] update-index doc: note a fixed bug in the untracked cache

From: Junio C Hamano <hidden>
Date: 2017-12-27 18:07:28

Ævar Arnfjörð Bjarmason  [off-list ref] writes:
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 <redacted>
---
quoted
On Tue, Dec 26, 2017 at 05:47:19PM +0700, Duy Nguyen wrote:
quoted
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.
Thanks both for working well together.  Now that the problem turns
out not about symbolic links, can we update the test in 1/1 not to
depend on symbolic links?
quoted hunk
 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
 -------------------
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help