From: Junio C Hamano Date: Wed, 14 Feb 2018 21:34:37 +0000 (-0800) Subject: Merge branch 'bp/fsmonitor' into next X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/5c508858fbc99f63b3b4d062f02f44bc84355bbd?hp=-c Merge branch 'bp/fsmonitor' into next Doc update for a recently added feature. * bp/fsmonitor: fsmonitor: update documentation to remove reference to invalid config settings --- 5c508858fbc99f63b3b4d062f02f44bc84355bbd diff --combined Documentation/git-update-index.txt index b8d3c0d72e,2fec666ee3..3897a59ee9 --- a/Documentation/git-update-index.txt +++ b/Documentation/git-update-index.txt @@@ -161,7 -161,7 +161,7 @@@ you will need to handle the situation m + Version 4 performs a simple pathname compression that reduces index size by 30%-50% on large repositories, which results in faster load -time. Version 4 is relatively young (first released in in 1.8.0 in +time. Version 4 is relatively young (first released in 1.8.0 in October 2012). Other Git implementations such as JGit and libgit2 may not support it yet. @@@ -464,32 -464,6 +464,32 @@@ command reads the index; while when `-- 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 ------------------- @@@ -510,8 -484,8 +510,8 @@@ the `core.fsmonitor` configuration vari linkgit:git-config[1]) than using the `--fsmonitor` option to `git update-index` in each repository, especially if you want to do so across all repositories you use, because you can set the configuration - variable to `true` (or `false`) in your `$HOME/.gitconfig` just once - and have it affect all repositories you touch. + variable in your `$HOME/.gitconfig` just once and have it affect all + repositories you touch. When the `core.fsmonitor` configuration variable is changed, the file system monitor is added to or removed from the index the next time