int cache_tree_update(struct index_state *istate, int flags) { struct cache_tree *it = istate->cache_tree; struct cache_entry **cache = istate->cache; int entries = istate->cache_nr; int skip, i = verify_cache(cache, entries, flags); if (i) return i; trace_performance_enter(); i = update_one(it, cache, entries, "", 0, &skip, flags); trace_performance_leave("cache_tree_update"); if (i < 0) return i; istate->cache_changed |= CACHE_TREE_CHANGED; return 0; }
int run_diff_index(struct rev_info *revs, int cached) { struct object_array_entry *ent; if (revs->pending.nr != 1) BUG("run_diff_index must be passed exactly one tree"); trace_performance_enter(); ent = revs->pending.objects; if (diff_cache(revs, &ent->item->oid, ent->name, cached)) exit(128); diff_set_mnemonic_prefix(&revs->diffopt, "c/", cached ? "i/" : "w/"); diffcore_fix_diff_index(&revs->diffopt); diffcore_std(&revs->diffopt); diff_flush(&revs->diffopt); trace_performance_leave("diff-index"); return 0; }