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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html