Here is a new version of a patch series to improve the untracked cache
feature.
This v7 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 is `keep` in which case the
untracked cache is neither removed nor added, and used if it is there.
This v7 is mostly identical to the previous v6. One of the few changes
is that in commit messages now the "Helped-by: ..." are before the
"Signed-off-by: ..." trailers as suggested by Duy. Patches that have
other changes have these other changes described a bit below,
otherwise only the patch itself is briefly described.
Patch 1/11 is a small bugfix.
Patch 2/11 to 4/11 add some small features that are missing.
Patchs 5/11 to 7/11 are some refactoring to prepare for the following
patchs.
Patch 8/11 deals with the "ident" field in "struct untracked_cache".
Patch 9/11 adds core.untrackedCache. The commit message has been
improved thanks to Stefan. And as Duy suggested, the check to see if
we should add or remove the untracked cache is made inside
post_read_index_from() instead of read_index_from(), and
post_read_index_from() comes from the renaming of check_ce_order().
Patch 10/11 is a hack that is needed to have test-dump-untracked-cache
work like it used to.
Patch 11/11 contains tests.
So the changes compared to v6 are mostly small updates.
The patch series is also available there:
https://github.com/chriscool/git/tree/uc-notifs70
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 {new,add}_untracked_cache()
dir: add remove_untracked_cache()
dir: simplify untracked cache "ident" field
config: add core.untrackedCache
test-dump-untracked-cache: don't modify the untracked cache
t7063: add tests for core.untrackedCache
Documentation/config.txt | 9 ++++
Documentation/git-update-index.txt | 67 +++++++++++++++++++++----
builtin/update-index.c | 62 ++++++++++++++---------
cache.h | 8 +++
config.c | 24 +++++++++
contrib/completion/git-completion.bash | 1 +
dir.c | 62 ++++++++++++++++++-----
dir.h | 3 +-
environment.c | 7 +++
read-cache.c | 20 ++++++--
t/t7063-status-untracked-cache.sh | 89 +++++++++++++++++++++++++++++++---
test-dump-untracked-cache.c | 4 ++
12 files changed, 299 insertions(+), 57 deletions(-)
--
2.7.0.181.gd7ef666.dirty