changeset 236:42ae65e6c1d1

save the map only once in export
author Abderrahim Kitouni <a.kitouni@gmail.com>
date Tue, 04 Aug 2009 12:30:16 +0100
parents 912d6a5837c8
children 16f671995881
files git_handler.py
diffstat 1 files changed, 7 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/git_handler.py
+++ b/git_handler.py
@@ -98,7 +98,7 @@
         self.save_map()
 
     def fetch(self, remote, heads):
-        self.export_git_objects()
+        self.export_commits()
         refs = self.fetch_pack(remote, heads)
         remote_name = self.remote_name(remote)
 
@@ -116,12 +116,13 @@
 
         self.save_map()
 
-    def export_commits(self, export_objects=True):
-        if export_objects:
+    def export_commits(self):
+        try:
             self.export_git_objects()
-        self.export_hg_tags()
-        self.update_references()
-        self.save_map()
+            self.export_hg_tags()
+            self.update_references()
+        finally:
+            self.save_map()
 
     def get_refs(self, remote):
         self.export_commits()
@@ -190,7 +191,6 @@
                 self.ui.debug("revision %d is a part of octopus explosion\n" % ctx.rev())
                 continue
             self.export_hg_commit(rev)
-            self.save_map()
 
     # convert this commit into git objects
     # go through the manifest, convert all blobs/trees we don't have