mercurial/merge.py
changeset 8744 6b675c781c6d
parent 8743 a8d5af707656
child 8745 8fd6f6b8b37d
--- a/mercurial/merge.py	Mon Jun 08 18:14:44 2009 -0500
+++ b/mercurial/merge.py	Mon Jun 08 18:14:44 2009 -0500
@@ -213,7 +213,9 @@
             else: # case 4,21 A/B/B
                 act("local moved to " + f2, "m",
                     f, f2, f, fmerge(f, f2, f2), False)
-        elif f in ma and not n[20:]:
+        elif n[20:] == "a": # added, no remote
+            act("remote deleted", "f", f)
+        elif f in ma: # clean, a different, no remote
             if n != ma[f]:
                 if repo.ui.prompt(
                     _(" local changed %s which remote deleted\n"
@@ -222,10 +224,8 @@
                     act("prompt delete", "r", f)
                 else:
                     act("prompt keep", "a", f)
-            else:
+            elif n[20:] != "u":
                 act("other deleted", "r", f)
-        elif n[20:] == "a": # only forget locally-added
-            act("remote deleted", "f", f)
         else:
             # file is created on branch or in working directory
             if (overwrite and n[20:] != "u") or (backwards and not n[20:]):