mq: qrename should not touch the dirstate if src is untracked (issue2460) stable
authorPatrick Mezard <pmezard@gmail.com>
Thu, 28 Oct 2010 22:04:33 +0200
branchstable
changeset 12875 b59b5193d4d0
parent 12874 bb7bf43b72fb
child 12876 a3b182dd548a
mq: qrename should not touch the dirstate if src is untracked (issue2460)
hgext/mq.py
tests/test-mq-qrename.t
--- a/hgext/mq.py	Thu Oct 28 21:25:53 2010 +0200
+++ b/hgext/mq.py	Thu Oct 28 22:04:33 2010 +0200
@@ -2400,7 +2400,7 @@
         os.makedirs(destdir)
     util.rename(q.join(patch), absdest)
     r = q.qrepo()
-    if r:
+    if r and patch in r.dirstate:
         wctx = r[None]
         wlock = r.wlock()
         try:
--- a/tests/test-mq-qrename.t	Thu Oct 28 21:25:53 2010 +0200
+++ b/tests/test-mq-qrename.t	Thu Oct 28 22:04:33 2010 +0200
@@ -81,3 +81,16 @@
   A patchc
   R patcha
   $ cd ..
+
+Test renames with mq repo (issue2097)
+
+  $ hg init issue2097
+  $ cd issue2097
+  $ hg qnew p0
+  $ (cd .hg/patches && hg init)
+  $ hg qren p0 p1
+  $ hg debugstate --mq
+  $ hg ci --mq -mq0
+  nothing changed
+  [1]
+  $ cd ..