Mercurial > hg
comparison mercurial/statichttprepo.py @ 33533:4133c0b0fcd7
cachevfs: add a vfs dedicated to cache
Most of the cache content lives in '.hg/cache/'. Moreover they are computed
exclusively from data in the '.hg/store' directory. This creates issues with
the share extension as the '.hg/store' directory is shared but the '.hg/cache'
is not. On large repositories, this makes this prevent some usage of the share
extension inefficient as some caches can take minutes to be recomputed.
To improve the situation, we introduce a new 'cachevfs' that will be dedicated
to cache reading and writing. In the next patches of this series, we'll
migrate the 4 existing caches to it and update the share extension.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Sat, 15 Jul 2017 23:05:04 +0200 |
parents | 7e89bd0cfb86 |
children | 8b00c723cee1 |
comparison
equal
deleted
inserted
replaced
33532:d645fdfb749f | 33533:4133c0b0fcd7 |
---|---|
122 u = util.url(path.rstrip('/') + "/.hg") | 122 u = util.url(path.rstrip('/') + "/.hg") |
123 self.path, authinfo = u.authinfo() | 123 self.path, authinfo = u.authinfo() |
124 | 124 |
125 vfsclass = build_opener(ui, authinfo) | 125 vfsclass = build_opener(ui, authinfo) |
126 self.vfs = vfsclass(self.path) | 126 self.vfs = vfsclass(self.path) |
127 self.cachevfs = vfsclass(self.vfs.join('cache')) | |
127 self._phasedefaults = [] | 128 self._phasedefaults = [] |
128 | 129 |
129 self.names = namespaces.namespaces() | 130 self.names = namespaces.namespaces() |
130 self.filtername = None | 131 self.filtername = None |
131 | 132 |