changeset 553:f3f344aac42b

Merge
author Augie Fackler <raf@durin42.com>
date Wed, 17 Oct 2012 10:59:42 -0500
parents c0c1a96ef56d (current diff) bff92a208c3f (diff)
children cac070a4b521 06a29fdd52a7
files hggit/git_handler.py
diffstat 1 files changed, 16 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -106,8 +106,21 @@
 
         self.branch_bookmark_suffix = ui.config('git', 'branch_bookmark_suffix')
 
+        self._map_git_real = {}
+        self._map_hg_real = {}
+        self.load_tags()
+
+    @property
+    def _map_git(self):
+      if not self._map_git_real:
         self.load_map()
-        self.load_tags()
+      return self._map_git_real
+
+    @property
+    def _map_hg(self):
+      if not self._map_hg_real:
+        self.load_map()
+      return self._map_hg_real
 
     # make the git data directory
     def init_if_missing(self):
@@ -143,13 +156,11 @@
         return self._map_hg.get(hgsha)
 
     def load_map(self):
-        self._map_git = {}
-        self._map_hg = {}
         if os.path.exists(self.repo.join(self.mapfile)):
             for line in self.repo.opener(self.mapfile):
                 gitsha, hgsha = line.strip().split(' ', 1)
-                self._map_git[gitsha] = hgsha
-                self._map_hg[hgsha] = gitsha
+                self._map_git_real[gitsha] = hgsha
+                self._map_hg_real[hgsha] = gitsha
 
     def save_map(self):
         file = self.repo.opener(self.mapfile, 'w+', atomictemp=True)