Mercurial > hg > hg-git
changeset 258:1590c97d7af0
do not init the cache git repo unless needed (fixes issue 16 bb)
author | Abderrahim Kitouni <a.kitouni@gmail.com> |
---|---|
date | Thu, 15 Oct 2009 21:45:15 +0100 |
parents | 75063203cfb5 |
children | 6977263c4d80 |
files | git_handler.py |
diffstat | 1 files changed, 8 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/git_handler.py +++ b/git_handler.py @@ -33,19 +33,16 @@ self.paths = ui.configitems('paths') - self.init_if_missing() - self.load_git() self.load_map() self.load_tags() # make the git data directory def init_if_missing(self): - if not os.path.exists(self.gitdir): + if os.path.exists(self.gitdir): + self.git = Repo(self.gitdir) + else: os.mkdir(self.gitdir) - Repo.init_bare(self.gitdir) - - def load_git(self): - self.git = Repo(self.gitdir) + self.git = Repo.init_bare(self.gitdir) ## FILE LOAD AND SAVE METHODS @@ -176,6 +173,8 @@ def export_git_objects(self): self.ui.status(_("importing Hg objects into Git\n")) + self.init_if_missing() + nodes = [self.repo.lookup(n) for n in self.repo] export = [node for node in nodes if not hex(node) in self._map_hg] total = len(export) @@ -352,6 +351,8 @@ def import_git_objects(self, remote_name=None, refs=None): self.ui.status(_("importing Git objects into Hg\n")) + self.init_if_missing() + # import heads and fetched tags as remote references todo = [] done = set()