diff --git a/hggit/git_handler.py b/hggit/git_handler.py index c0c1a96ef56df4589e63a4e60b67fc5ccd0f4c34_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..f3f344aac42be16d02458752c422e5f4a8d3c599_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644 --- a/hggit/git_handler.py +++ b/hggit/git_handler.py @@ -106,4 +106,11 @@ 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() @@ -109,5 +116,11 @@ 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,8 +156,6 @@ 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) @@ -148,8 +159,8 @@ 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)