diff --git a/read-tree.c b/read-tree.c
index 8b91affe899e065349979c8f4b347560ecd0063a..5d304641067779b2c630a616279937378fe60c2c 100644 (file)
--- a/read-tree.c
+++ b/read-tree.c
invalidate_ce_path(old);
}
}
+ else
+ invalidate_ce_path(merge);
merge->ce_flags &= ~htons(CE_STAGEMASK);
add_cache_entry(merge, ADD_CACHE_OK_TO_ADD);
return 1;
* valid cache-tree because the index must match exactly
* what came from the tree.
*/
- if (trees->item && !prefix && (!merge || (stage == 2))) {
+ if (trees && trees->item && (!merge || (stage == 2))) {
cache_tree_free(&active_cache_tree);
prime_cache_tree();
}