diff --git a/unpack-trees.c b/unpack-trees.c
index ef21c62195d61980d4727e3f6d9c285422fcfe91..e59d144d28164f2451784513105f6269f0e9167c 100644 (file)
--- a/unpack-trees.c
+++ b/unpack-trees.c
return -1;
}
}
- else if (newtree)
+ else if (newtree) {
+ if (oldtree && !o->initial_checkout) {
+ /*
+ * deletion of the path was staged;
+ */
+ if (same(oldtree, newtree))
+ return 1;
+ return reject_merge(oldtree, o);
+ }
return merged_entry(newtree, current, o);
+ }
return deleted_entry(oldtree, current, o);
}