[PATCH v7 00/11] Untracked cache improvements
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Jan 24, 2016, 15:28 UTC
- Message-ID
- <1453649304-18121-1-git-send-email-chriscool@tuxfamily.org>
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.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 | 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