diff hgext/mq.py @ 5527:0b3f910dfd17

mq: really remove undo after a qpush (and after a strip) For qpush, removeundo has to be called after the transaction has finished. strip may use unbundle, which also leaves an undo file. Fixes issue780.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 09 Nov 2007 20:21:35 -0200
parents bfbd9b954315
children 61c230f81068
line wrap: on
line diff
--- a/hgext/mq.py	Fri Nov 09 20:21:35 2007 -0200
+++ b/hgext/mq.py	Fri Nov 09 20:21:35 2007 -0200
@@ -456,6 +456,7 @@
                 raise
         finally:
             del tr, lock, wlock
+            self.removeundo(repo)
 
     def _apply(self, repo, series, list=False, update_status=True,
                strict=False, patchdir=None, merge=None, all_files={}):
@@ -527,7 +528,6 @@
                 self.ui.warn("fuzz found when applying patch, stopping\n")
                 err = 1
                 break
-        self.removeundo(repo)
         return (err, n)
 
     def delete(self, repo, patches, opts):
@@ -654,6 +654,9 @@
 
             self.removeundo(repo)
             repair.strip(self.ui, repo, rev, backup)
+            # strip may have unbundled a set of backed up revisions after
+            # the actual strip
+            self.removeundo(repo)
         finally:
             del lock, wlock