[PATCH 2 of 3] repair: remove undo files after strip

Idan Kamara idankk86 at gmail.com
Mon Mar 5 15:47:35 CST 2012


# HG changeset patch
# User Idan Kamara <idankk86 at gmail.com>
# Date 1330984038 -7200
# Node ID 19f96222a187fa9f61b550f21c17a3218b6bf076
# Parent  a0be2a126eee7535674f541518c198e598ed852e
repair: remove undo files after strip

diff --git a/mercurial/repair.py b/mercurial/repair.py
--- a/mercurial/repair.py
+++ b/mercurial/repair.py
@@ -56,7 +56,7 @@
 
 def strip(ui, repo, node, backup="all"):
     cl = repo.changelog
-    # TODO delete the undo files, and handle undo of merge sets
+    # TODO handle undo of merge sets
     striprev = cl.rev(node)
 
     keeppartialbundle = backup == 'strip'
@@ -154,6 +154,14 @@
                     % chgrpfile)
         raise
 
+    # remove undo files
+    for undofile in repo.undofiles():
+        try:
+            os.unlink(undofile)
+        except OSError, e:
+            if e.errno != errno.ENOENT:
+                ui.warn(_('error removing %s: %s\n') % (undofile, str(e)))
+
     repo.destroyed()
 
     # remove potential unknown phase


More information about the Mercurial-devel mailing list