diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-03-07 09:59:51 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-03-07 09:59:51 +0900 |
commit | 7d0c1f4556ad89b2f7eae97d31ea85c3bfdf7c87 (patch) | |
tree | cce91296a436de34b3f81fe0ea4b433110ec69b5 /read-cache.c | |
parent | Merge tag 'l10n-2.21.0-rnd2.1' of git://github.com/git-l10n/git-po (diff) | |
parent | revert "checkout: introduce checkout.overlayMode config" (diff) | |
download | tgif-7d0c1f4556ad89b2f7eae97d31ea85c3bfdf7c87.tar.xz |
Merge branch 'tg/checkout-no-overlay'
"git checkout --no-overlay" can be used to trigger a new mode of
checking out paths out of the tree-ish, that allows paths that
match the pathspec that are in the current index and working tree
and are not in the tree-ish.
* tg/checkout-no-overlay:
revert "checkout: introduce checkout.overlayMode config"
checkout: introduce checkout.overlayMode config
checkout: introduce --{,no-}overlay option
checkout: factor out mark_cache_entry_for_checkout function
checkout: clarify comment
read-cache: add invalidate parameter to remove_marked_cache_entries
entry: support CE_WT_REMOVE flag in checkout_entry
entry: factor out unlink_entry function
move worktree tests to t24*
Diffstat (limited to 'read-cache.c')
-rw-r--r-- | read-cache.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/read-cache.c b/read-cache.c index 0e0c93edc9..75ff234fc8 100644 --- a/read-cache.c +++ b/read-cache.c @@ -588,13 +588,19 @@ int remove_index_entry_at(struct index_state *istate, int pos) * CE_REMOVE is set in ce_flags. This is much more effective than * calling remove_index_entry_at() for each entry to be removed. */ -void remove_marked_cache_entries(struct index_state *istate) +void remove_marked_cache_entries(struct index_state *istate, int invalidate) { struct cache_entry **ce_array = istate->cache; unsigned int i, j; for (i = j = 0; i < istate->cache_nr; i++) { if (ce_array[i]->ce_flags & CE_REMOVE) { + if (invalidate) { + cache_tree_invalidate_path(istate, + ce_array[i]->name); + untracked_cache_remove_from_index(istate, + ce_array[i]->name); + } remove_name_hash(istate, ce_array[i]); save_or_free_index_entry(istate, ce_array[i]); } |