histedit: add clear method to remove state
Encapsulate the unlinking histedit-state and use the vfs layer instead of
os.unlink.
--- 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'))