--- a/hgext/convert/__init__.py
+++ b/hgext/convert/__init__.py
@@ -235,6 +235,7 @@ class converter(object):
def convert(self):
try:
+ self.source.before()
self.dest.before()
self.source.setrevmap(self.map)
self.ui.status("scanning source...\n")
@@ -273,7 +274,10 @@ class converter(object):
self.cleanup()
def cleanup(self):
- self.dest.after()
+ try:
+ self.dest.after()
+ finally:
+ self.source.after()
if self.revmapfilefd:
self.revmapfilefd.close()
--- a/hgext/convert/common.py
+++ b/hgext/convert/common.py
@@ -38,6 +38,12 @@ class converter_source(object):
self.encoding = 'utf-8'
+ def before(self):
+ pass
+
+ def after(self):
+ pass
+
def setrevmap(self, revmap):
"""set the map of already-converted revisions"""
pass