mercurial/merge.py
changeset 5060 2ef14e29e538
parent 5046 bf444a9a9c23
parent 5059 8d9bdcbb2b18
child 5141 d316124ebbea
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -415,10 +415,10 @@ def applyupdates(repo, action, wctx, mct
                     updated += 1
                 else:
                     merged += 1
-            if f != fd and move:
+            util.set_exec(repo.wjoin(fd), "x" in flags)
+            if f != fd and move and util.lexists(repo.wjoin(f)):
                 repo.ui.debug(_("removing %s\n") % f)
                 os.unlink(repo.wjoin(f))
-            util.set_exec(repo.wjoin(fd), "x" in flags)
         elif m == "g": # get
             flags = a[2]
             repo.ui.note(_("getting %s\n") % f)