diff options
author | 2018-02-27 10:33:50 -0800 | |
---|---|---|
committer | 2018-02-27 10:33:50 -0800 | |
commit | c6e3ac0f69d80f10979948462c6594d228e89341 (patch) | |
tree | eae6e81805cb8a67bbd4fc9564f27e3aa7df6151 | |
parent | Merge branch 'nd/fix-untracked-cache-invalidation' (diff) | |
parent | update-index doc: note the caveat with "could not open..." (diff) | |
download | tgif-c6e3ac0f69d80f10979948462c6594d228e89341.tar.xz |
Merge branch 'ab/untracked-cache-invalidation-docs'
Doc update to warn against remaining bugs in untracked cache.
* ab/untracked-cache-invalidation-docs:
update-index doc: note the caveat with "could not open..."
update-index doc: note a fixed bug in the untracked cache
-rw-r--r-- | Documentation/git-update-index.txt | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt index bdb0342593..b8d3c0d72e 100644 --- a/Documentation/git-update-index.txt +++ b/Documentation/git-update-index.txt @@ -464,6 +464,32 @@ 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. + +There are also cases where existing indexes written by git versions +before 2.17 will reference directories that don't exist anymore, +potentially causing many "could not open directory" warnings to be +printed on "git status". These are new warnings for existing issues +that were previously silently discarded. + +As with the bug described above the solution is to one-off do a "git +status" run with `core.untrackedCache=false` to flush out the leftover +bad data. + File System Monitor ------------------- |