|
|
|
@ -151,7 +151,7 @@ void cache_tree_invalidate_path(struct index_state *istate, const char *path)
@@ -151,7 +151,7 @@ void cache_tree_invalidate_path(struct index_state *istate, const char *path)
|
|
|
|
|
istate->cache_changed |= CACHE_TREE_CHANGED; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int verify_cache(const struct cache_entry * const *cache, |
|
|
|
|
static int verify_cache(struct cache_entry **cache, |
|
|
|
|
int entries, int flags) |
|
|
|
|
{ |
|
|
|
|
int i, funny; |
|
|
|
@ -236,7 +236,7 @@ int cache_tree_fully_valid(struct cache_tree *it)
@@ -236,7 +236,7 @@ int cache_tree_fully_valid(struct cache_tree *it)
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int update_one(struct cache_tree *it, |
|
|
|
|
const struct cache_entry * const *cache, |
|
|
|
|
struct cache_entry **cache, |
|
|
|
|
int entries, |
|
|
|
|
const char *base, |
|
|
|
|
int baselen, |
|
|
|
@ -398,18 +398,19 @@ static int update_one(struct cache_tree *it,
@@ -398,18 +398,19 @@ static int update_one(struct cache_tree *it,
|
|
|
|
|
return i; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int cache_tree_update(struct cache_tree *it, |
|
|
|
|
const struct cache_entry * const *cache, |
|
|
|
|
int entries, |
|
|
|
|
int flags) |
|
|
|
|
int cache_tree_update(struct index_state *istate, int flags) |
|
|
|
|
{ |
|
|
|
|
int i, skip; |
|
|
|
|
i = verify_cache(cache, entries, 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; |
|
|
|
|
i = update_one(it, cache, entries, "", 0, &skip, flags); |
|
|
|
|
if (i < 0) |
|
|
|
|
return i; |
|
|
|
|
istate->cache_changed |= CACHE_TREE_CHANGED; |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -597,9 +598,7 @@ int write_cache_as_tree(unsigned char *sha1, int flags, const char *prefix)
@@ -597,9 +598,7 @@ int write_cache_as_tree(unsigned char *sha1, int flags, const char *prefix)
|
|
|
|
|
|
|
|
|
|
was_valid = cache_tree_fully_valid(active_cache_tree); |
|
|
|
|
if (!was_valid) { |
|
|
|
|
if (cache_tree_update(active_cache_tree, |
|
|
|
|
(const struct cache_entry * const *)active_cache, |
|
|
|
|
active_nr, flags) < 0) |
|
|
|
|
if (cache_tree_update(&the_index, flags) < 0) |
|
|
|
|
return WRITE_TREE_UNMERGED_INDEX; |
|
|
|
|
if (0 <= newfd) { |
|
|
|
|
if (!write_locked_index(&the_index, lock_file, COMMIT_LOCK)) |
|
|
|
@ -698,7 +697,5 @@ int update_main_cache_tree(int flags)
@@ -698,7 +697,5 @@ int update_main_cache_tree(int flags)
|
|
|
|
|
{ |
|
|
|
|
if (!the_index.cache_tree) |
|
|
|
|
the_index.cache_tree = cache_tree(); |
|
|
|
|
return cache_tree_update(the_index.cache_tree, |
|
|
|
|
(const struct cache_entry * const *)the_index.cache, |
|
|
|
|
the_index.cache_nr, flags); |
|
|
|
|
return cache_tree_update(&the_index, flags); |
|
|
|
|
} |
|
|
|
|