diff options
Diffstat (limited to 'split-index.c')
-rw-r--r-- | split-index.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/split-index.c b/split-index.c index 63b52bb086..2bb5d556f0 100644 --- a/split-index.c +++ b/split-index.c @@ -88,3 +88,15 @@ void discard_split_index(struct index_state *istate) } free(si); } + +void save_or_free_index_entry(struct index_state *istate, struct cache_entry *ce) +{ + if (ce->index && + istate->split_index && + istate->split_index->base && + ce->index <= istate->split_index->base->cache_nr && + ce == istate->split_index->base->cache[ce->index - 1]) + ce->ce_flags |= CE_REMOVE; + else + free(ce); +} |