histedit: add clear method to remove state
authorDavid Soria Parra <davidsp@fb.com>
Wed, 15 Oct 2014 17:30:57 -0700
changeset 22978 d4e764521249
parent 22977 29ae3b190ec5
child 22979 bb22cd700e0a
histedit: add clear method to remove state Encapsulate the unlinking histedit-state and use the vfs layer instead of os.unlink.
hgext/histedit.py
--- a/hgext/histedit.py	Tue Oct 14 20:35:17 2014 -0700
+++ b/hgext/histedit.py	Wed Oct 15 17:30:57 2014 -0700
@@ -207,6 +207,9 @@
             self.topmost, self.replacements), fp)
         fp.close()
 
+    def clear(self):
+        self.repo.vfs.unlink('histedit-state')
+
 def commitfuncfor(repo, src):
     """Build a commit function for the replacement of <src>
 
@@ -586,7 +589,7 @@
             pass
         cleanupnode(ui, repo, 'created', tmpnodes)
         cleanupnode(ui, repo, 'temp', leafs)
-        os.unlink(os.path.join(repo.path, 'histedit-state'))
+        state.clear()
         return
     else:
         cmdutil.checkunfinished(repo)
@@ -683,7 +686,7 @@
             cleanupnode(ui, repo, 'replaced', mapping)
 
     cleanupnode(ui, repo, 'temp', tmpnodes)
-    os.unlink(os.path.join(repo.path, 'histedit-state'))
+    state.clear()
     if os.path.exists(repo.sjoin('undo')):
         os.unlink(repo.sjoin('undo'))