Mercurial > kallithea
changeset 3579:11feddcd75bb beta
after hooks cleanup we don't need to have ui injections into repo so we don't need to cache git repos
- change to @property fixes all odd concurrency issues with zlib decompressions
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 24 Mar 2013 19:58:24 +0100 |
parents | f3283898d431 |
children | 7b9d4f6bb04e |
files | rhodecode/lib/middleware/simplegit.py rhodecode/lib/vcs/backends/git/repository.py |
diffstat | 2 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/lib/middleware/simplegit.py Sun Mar 24 19:53:09 2013 +0100 +++ b/rhodecode/lib/middleware/simplegit.py Sun Mar 24 19:58:24 2013 +0100 @@ -317,7 +317,6 @@ from rhodecode.model.db import Repository _repo = Repository.get_by_repo_name(repo_name) _repo = _repo.scm_instance - _repo._repo.ui = baseui _hooks = dict(baseui.configitems('hooks')) or {} if action == 'pull':
--- a/rhodecode/lib/vcs/backends/git/repository.py Sun Mar 24 19:53:09 2013 +0100 +++ b/rhodecode/lib/vcs/backends/git/repository.py Sun Mar 24 19:58:24 2013 +0100 @@ -64,7 +64,7 @@ abspath(get_user_home(), '.gitconfig'), ] - @ThreadLocalLazyProperty + @property def _repo(self): return Repo(self.path) @@ -419,7 +419,9 @@ return self._get_parsed_refs() def _get_parsed_refs(self): - refs = self._repo.get_refs() + # cache the property + _repo = self._repo + refs = _repo.get_refs() keys = [('refs/heads/', 'H'), ('refs/remotes/origin/', 'RH'), ('refs/tags/', 'T')] @@ -429,9 +431,9 @@ if ref.startswith(k): _key = ref[len(k):] if type_ == 'T': - obj = self._repo.get_object(sha) + obj = _repo.get_object(sha) if isinstance(obj, Tag): - sha = self._repo.get_object(sha).object[1] + sha = _repo.get_object(sha).object[1] _refs[_key] = [sha, type_] break return _refs