[PATCH v8 00/11] Untracked cache improvements
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Jan 27, 2016, 06:57 UTC
- Message-ID
- <1453877887-11586-1-git-send-email-chriscool@tuxfamily.org>
Here is a new version of a patch series to improve the untracked cache feature.
This v8 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 v8 is mostly identical to the previous v7. Only patch 9/11, which adds core.untrackedCache, has one change.
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. As Junio suggested, the check to see if we should add or remove the untracked cache is now made inside a new tweak_untracked_cache() function which is called by the new post_read_index_from() function after it calls 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.
The patch series is also available there:
https://github.com/chriscool/git/tree/uc-notifs71
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.untrackedCacheDocumentation/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 | 27 ++++++++++- t/t7063-status-untracked-cache.sh | 89 +++++++++++++++++++++++++++++++--- test-dump-untracked-cache.c | 4 ++ 12 files changed, 307 insertions(+), 56 deletions(-)
-- 2.7.0.181.g07d31f8