mercurial/merge.py
changeset 3120 1c1e59aac82a
parent 3119 b1de36a4b4df
child 3121 2ef0b3aae186
--- a/mercurial/merge.py	Sun Sep 17 20:43:06 2006 -0500
+++ b/mercurial/merge.py	Sun Sep 17 21:11:26 2006 -0500
@@ -133,10 +133,9 @@
                 elif fmerge(f) != m1.execf(f):
                     ui.debug(_(" updating permissions for %s\n") % f)
                     action.append((f, "e", m2.execf(f)))
-
             # contents same, check mode bits
             elif m1.execf(f) != m2.execf(f):
-                if overwrite or fmerge(f) != m1.execf(f)
+                if overwrite or fmerge(f) != m1.execf(f):
                     ui.debug(_(" updating permissions for %s\n") % f)
                     action.append((f, "e", m2.execf(f)))
             del m2[f]
@@ -151,17 +150,11 @@
                 action.append((f, "r"))
         else:
             # file is created on branch or in working directory
-            if overwrite and n[20:] != "u":
+            if (overwrite and n[20:] != "u") or (backwards and not n[20:]):
                 ui.debug(_("remote deleted %s, clobbering\n") % f)
                 action.append((f, "r"))
-            elif not n[20:]: # same as parent
-                if backwards:
-                    ui.debug(_("remote deleted %s\n") % f)
-                    action.append((f, "r"))
-                else:
-                    ui.debug(_("local modified %s, keeping\n") % f)
             else:
-                ui.debug(_("working dir created %s, keeping\n") % f)
+                ui.debug(_("local created %s, keeping\n") % f)
 
     for f, n in m2.iteritems():
         if f in ma: