Changeset 3208
- Timestamp:
- 02/11/08 05:23:13 (10 months ago)
- Files:
-
- gitplugin/0.11/tracext/git/git_fs.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gitplugin/0.11/tracext/git/git_fs.py
r3207 r3208 21 21 from trac.versioncontrol.cache import CachedRepository 22 22 from trac.versioncontrol.web_ui import IPropertyRenderer 23 from trac.config import _TRUE_VALUES as TRUE23 from trac.config import BoolOption 24 24 25 25 from genshi.builder import tag … … 107 107 # IRepositoryConnector 108 108 109 _persistent_cache = BoolOption('git', 'persistent_cache', 'false', 110 "enable persistent caching of commit tree") 111 112 _cached_repository = BoolOption('git', 'cached_repository', 'false', 113 "wrap `GitRepository` in `CachedRepository`") 114 109 115 def get_supported_types(self): 110 116 yield ("git", 8) … … 112 118 def get_repository(self, type, dir, authname): 113 119 """GitRepository factory method""" 120 assert type == "git" 121 114 122 if not self._version: 115 123 raise TracError("GIT backend not available") … … 118 126 (self._version['v_str'], self._version['v_min_str'])) 119 127 120 options = dict(self.config.options(type)) 121 122 repos = GitRepository(dir, self.log, options) 123 124 cached_repository = 'cached_repository' in options and options['cached_repository'] in TRUE 125 126 if cached_repository: 128 repos = GitRepository(dir, self.log, persistent_cache=self._persistent_cache) 129 130 if self._cached_repository: 127 131 repos = CachedRepository(self.env.get_db_cnx(), repos, None, self.log) 128 132 self.log.info("enabled CachedRepository for '%s'" % dir) … … 133 137 134 138 class GitRepository(Repository): 135 def __init__(self, path, log, options):139 def __init__(self, path, log, persistent_cache=False): 136 140 self.logger = log 137 141 self.gitrepo = path 138 139 persistent_cache = 'persistent_cache' in options and options['persistent_cache'] in TRUE140 142 141 143 self.git = PyGIT.StorageFactory(path, log, not persistent_cache).getInstance()
