Here is a new version of a patch series to improve the untracked cache feature. This v4 implements core.untrackedCache as a tristate config variable. When it's `true`, Git commands, especially `git status`, should always add the untracked cache and use it, and when `false`, Git commands should remove it. The default though is now `keep` in which case the untracked cache is neither removed nor added, and used if it is there. Patch 1/10 is a small bugfix that has not changed since v3. Patch 2/10 to 4/10 add some small features that are missing. The only chqnge there since v3 is that we are now using `report()` to display verbose information, thanks to Duy. Patchs 5/10 to 7/10 are some refactoring to prepare for the following patchs. Among them 6/10 is the result of merging two patchs from v3, thanks to Eric. Patch 8/10 deals with the "ident" field in "struct untracked_cache" and is mostly the same as in v3. The difference is just a small bug fix to prevent a crash. Patch 9/10 adds core.untrackedCache. It has been changed compared to v3 in the following ways: - the config variable is now a tristate, thanks to Junio, - we use `switch` to deal with different values, thanks to Torsten, - documentation for --test-untracked-cache is improved, thanks to David. Patch 10/10, which contains tests, has been changed to reflect changes in 9/10 and to add a few tests. So the changes compared to v3 are mostly small updates, and patchs 6/10, 9/10 and 10/10. The patch series is also available there: https://github.com/chriscool/git/tree/uc-notifs40 Thanks to the reviewers and helpers. Christian Couder (10): dir: free untracked cache when removing it update-index: use enum for untracked cache options update-index: add --test-untracked-cache update-index: add untracked cache notifications update-index: move 'uc' var declaration dir: add {new,add}_untracked_cache() dir: add remove_untracked_cache() dir: simplify untracked cache "ident" field config: add core.untrackedCache t7063: add tests for core.untrackedCache Documentation/config.txt | 7 +++ Documentation/git-update-index.txt | 65 +++++++++++++++++++++++----- builtin/update-index.c | 62 ++++++++++++++++---------- cache.h | 1 + config.c | 11 +++++ contrib/completion/git-completion.bash | 1 + dir.c | 70 ++++++++++++++++++++++++------ dir.h | 2 + environment.c | 1 + t/t7063-status-untracked-cache.sh | 79 +++++++++++++++++++++++++++++++--- wt-status.c | 13 ++++++ 11 files changed, 260 insertions(+), 52 deletions(-) -- 2.7.0.rc2.10.g544ad6b -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html