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*
This commit is contained in:
@ -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]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user