mq: handle added patch renaming correctly
authorWeijun Wang <weijun.wang@sun.com>
Fri, 06 Jun 2008 18:23:31 +0200
changeset 6648 2519976a998b
parent 6635 d90d83ebea9e
child 6649 05a682c8907d
mq: handle added patch renaming correctly
hgext/mq.py
--- a/hgext/mq.py	Tue Jun 03 12:10:14 2008 +0200
+++ b/hgext/mq.py	Fri Jun 06 18:23:31 2008 +0200
@@ -2011,10 +2011,14 @@
     if r:
         wlock = r.wlock()
         try:
-            if r.dirstate[name] == 'r':
-                r.undelete([name])
-            r.copy(patch, name)
-            r.remove([patch], False)
+            if r.dirstate[patch] == 'a':
+                r.dirstate.forget(patch)
+                r.dirstate.add(name)
+            else:
+                if r.dirstate[name] == 'r':
+                    r.undelete([name])
+                r.copy(patch, name)
+                r.remove([patch], False)
         finally:
             del wlock