Here is a new version of a patch series to improve the untracked cache
feature.
This v3 still implements core.untrackedCache as a simple bool config
variable. When it's true, Git should always try to use the untracked
cache, and when false, Git should never use it.
Patch 1/11 is a small bugfix that has been moved to the start of the
series so it might get applied independently.
Patch 2/11 to 4/11 add some small features that are missing. They
haven't been changed since the previous series.
Patchs 5/11 to 8/11 are some refactoring to prepare for the following
patchs. Among them 7/11 is new, the others haven't changed.
Patch 9/11 replaces patch 10/10 in the previous series. It deals with
the "ident" field in "struct untracked_cache". As suggested by Junio,
we keep paying attention to the location of the work tree that is
stored in this field, but otherwise things are simplified a lot.
Patch 10/11 which adds core.untrackedCache, contains a few
simplifications compared to v2.
Patch 11/11 has not been changed.
So the changes compared to v2 are mostly small updates, and patchs
7/11 and 9/11.
The patch series is also available there:
https://github.com/chriscool/git/tree/uc-notifs34
Thanks to the reviewers and helpers.
Christian Couder (11):
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 add_untracked_cache()
dir: add new_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 | 61 ++++++++++++++++++++++++-----
builtin/update-index.c | 54 ++++++++++++++------------
cache.h | 1 +
config.c | 4 ++
contrib/completion/git-completion.bash | 1 +
dir.c | 70 ++++++++++++++++++++++++++++------
dir.h | 2 +
environment.c | 1 +
t/t7063-status-untracked-cache.sh | 52 ++++++++++++++++++++++---
wt-status.c | 5 +++
11 files changed, 207 insertions(+), 51 deletions(-)
--
2.7.0.rc2.11.g68ccdd4