X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=builtin-read-tree.c;h=7164b49054e25bdb849f57023a8cf05b85f783c8;hb=b266b123cd3124497a1d006cb126033ce458a85c;hp=cc61c2d8130da09a7fafe96e94017f1d28eec655;hpb=0e84fb06a1022f99c96cfcd728e7bf029ef0b5e3;p=git.git diff --git a/builtin-read-tree.c b/builtin-read-tree.c index cc61c2d8..7164b490 100644 --- a/builtin-read-tree.c +++ b/builtin-read-tree.c @@ -799,10 +799,8 @@ static int oneway_merge(struct cache_entry **src) return error("Cannot do a oneway merge of %d trees", merge_size); - if (!a) { - invalidate_ce_path(old); + if (!a) return deleted_entry(old, old); - } if (old && same(old, a)) { if (reset) { struct stat st; @@ -1034,7 +1032,7 @@ int cmd_read_tree(int argc, const char **argv, char **envp) * valid cache-tree because the index must match exactly * what came from the tree. */ - if (trees && trees->item && (!merge || (stage == 2))) { + if (trees && trees->item && !prefix && (!merge || (stage == 2))) { cache_tree_free(&active_cache_tree); prime_cache_tree(); }