Merge branch 'nd/split-index-unshare'

Plug some leaks and updates internal API used to implement the
split index feature to make it easier to avoid such a leak in the
future.

* nd/split-index-unshare:
  p3400: add perf tests for rebasing many changes
  split-index: add and use unshare_split_index()
This commit is contained in:
Junio C Hamano
2017-05-29 12:34:43 +09:00
4 changed files with 68 additions and 22 deletions

View File

@ -1877,15 +1877,9 @@ int discard_index(struct index_state *istate)
{
int i;
for (i = 0; i < istate->cache_nr; i++) {
if (istate->cache[i]->index &&
istate->split_index &&
istate->split_index->base &&
istate->cache[i]->index <= istate->split_index->base->cache_nr &&
istate->cache[i] == istate->split_index->base->cache[istate->cache[i]->index - 1])
continue;
unshare_split_index(istate, 1);
for (i = 0; i < istate->cache_nr; i++)
free(istate->cache[i]);
}
resolve_undo_clear_index(istate);
istate->cache_nr = 0;
istate->cache_changed = 0;