157 if obj.store.opener.options.get(b'persistent-nodemap', False): |
157 if obj.store.opener.options.get(b'persistent-nodemap', False): |
158 paths.append(self.join(obj, b'00changelog.n')) |
158 paths.append(self.join(obj, b'00changelog.n')) |
159 return paths |
159 return paths |
160 |
160 |
161 |
161 |
|
162 class manifestlogcache(storecache): |
|
163 """filecache for the manifestlog""" |
|
164 |
|
165 def __init__(self): |
|
166 super(manifestlogcache, self).__init__() |
|
167 _cachedfiles.add((b'00manifest.i', b'')) |
|
168 _cachedfiles.add((b'00manifest.n', b'')) |
|
169 |
|
170 def tracked_paths(self, obj): |
|
171 paths = [self.join(obj, b'00manifest.i')] |
|
172 if obj.store.opener.options.get(b'persistent-nodemap', False): |
|
173 paths.append(self.join(obj, b'00manifest.n')) |
|
174 return paths |
|
175 |
|
176 |
162 class mixedrepostorecache(_basefilecache): |
177 class mixedrepostorecache(_basefilecache): |
163 """filecache for a mix files in .hg/store and outside""" |
178 """filecache for a mix files in .hg/store and outside""" |
164 |
179 |
165 def __init__(self, *pathsandlocations): |
180 def __init__(self, *pathsandlocations): |
166 # scmutil.filecache only uses the path for passing back into our |
181 # scmutil.filecache only uses the path for passing back into our |
1695 return repo.store.changelog( |
1710 return repo.store.changelog( |
1696 txnutil.mayhavepending(repo.root), |
1711 txnutil.mayhavepending(repo.root), |
1697 concurrencychecker=revlogchecker.get_checker(repo.ui, b'changelog'), |
1712 concurrencychecker=revlogchecker.get_checker(repo.ui, b'changelog'), |
1698 ) |
1713 ) |
1699 |
1714 |
1700 @storecache(b'00manifest.i') |
1715 @manifestlogcache() |
1701 def manifestlog(self): |
1716 def manifestlog(self): |
1702 return self.store.manifestlog(self, self._storenarrowmatch) |
1717 return self.store.manifestlog(self, self._storenarrowmatch) |
1703 |
1718 |
1704 @repofilecache(b'dirstate') |
1719 @repofilecache(b'dirstate') |
1705 def dirstate(self): |
1720 def dirstate(self): |