qimport: record imported revs incrementally (issue3874) stable
authorMatt Mackall <mpm@selenic.com>
Thu, 31 Jul 2014 16:32:12 -0500
branchstable
changeset 21965 fd7839d1107d
parent 21964 ef555e456420
child 21966 be94ed4baa5d
child 21967 f582fa1167f7
qimport: record imported revs incrementally (issue3874) When an import fails, this doesn't lose the state for the earlier revisions.
hgext/mq.py
tests/test-mq-qimport.t
--- a/hgext/mq.py	Thu Jul 31 16:01:01 2014 -0500
+++ b/hgext/mq.py	Thu Jul 31 16:32:12 2014 -0500
@@ -1995,12 +1995,12 @@
                 self.added.append(patchname)
                 imported.append(patchname)
                 patchname = None
-            if rev and repo.ui.configbool('mq', 'secret', False):
-                # if we added anything with --rev, we must move the secret root
-                phases.retractboundary(repo, phases.secret, [n])
-            self.parseseries()
-            self.applieddirty = True
-            self.seriesdirty = True
+                if rev and repo.ui.configbool('mq', 'secret', False):
+                    # if we added anything with --rev, move the secret root
+                    phases.retractboundary(repo, phases.secret, [n])
+                self.parseseries()
+                self.applieddirty = True
+                self.seriesdirty = True
 
         for i, filename in enumerate(files):
             if existing:
--- a/tests/test-mq-qimport.t	Thu Jul 31 16:01:01 2014 -0500
+++ b/tests/test-mq-qimport.t	Thu Jul 31 16:32:12 2014 -0500
@@ -196,6 +196,14 @@
   now at: appendbar.diff
   $ hg qfin -a
   patch b.diff finalized without changeset message
+  $ touch .hg/patches/2.diff
+  $ hg qimport -r 'p1(.)::'
+  abort: patch "2.diff" already exists
+  [255]
+  $ hg qapplied
+  3.diff
+  $ hg qfin -a
+  $ rm .hg/patches/2.diff
   $ hg qimport -r 'p1(.)::' -P
   $ hg qpop -a
   popping 3.diff