diff --git a/unpack-trees.c b/unpack-trees.c
index f9d12aafba8255401cd4e6d749f8738eb6e0857e..720f7a161651126872b7357173c10d69d1db7636 100644 (file)
--- a/unpack-trees.c
+++ b/unpack-trees.c
return error("Cannot do a oneway merge of %d trees",
o->merge_size);
- if (!a)
+ if (!a || a == o->df_conflict_entry)
return deleted_entry(old, old, o);
if (old && same(old, a)) {
int update = 0;
- if (o->reset) {
+ if (o->reset && !ce_uptodate(old)) {
struct stat st;
if (lstat(old->name, &st) ||
ie_match_stat(o->src_index, old, &st, CE_MATCH_IGNORE_VALID))