comparison mercurial/statichttprepo.py @ 42231:d345627d104b

repoview: introduce a `experimental.extra-filter-revs` config The option define revisions to additionally filter out of all repository "view". The end goal is to provide and easy to way to serve multiple subset of the same repository using multiple "shares". The simplest use case of this feature is to have one view serving the public changesets and one view also serving the draft. This is currently achievable using the new `server.view` option introduced recently by Joerg Sonnenberger. However, more advanced use cases need more advanced definitions. For example some needs a view dedicated to some release branches, or view that hides security fixes to be released. Joerg Sonnenberger and I discussed this topic at the recent mini-sprint and the both of us have seen real life use cases for this. (This series got written during the same mini-sprint). The feature is fully functional, and use similar cache-fallback mechanism to ensure decent performance. However,there remaining room to ensure each share caches and hooks collaborate with each others. This will come at a later time once users start to actually test this feature on real usecase.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 06 Apr 2019 17:46:19 +0200
parents 328ca3b9e545
children 3518da504303
comparison
equal deleted inserted replaced
42230:fdbeacb9d456 42231:d345627d104b
153 self.cachevfs = vfsclass(self.vfs.join('cache')) 153 self.cachevfs = vfsclass(self.vfs.join('cache'))
154 self._phasedefaults = [] 154 self._phasedefaults = []
155 155
156 self.names = namespaces.namespaces() 156 self.names = namespaces.namespaces()
157 self.filtername = None 157 self.filtername = None
158 self._extrafilterid = None
158 159
159 try: 160 try:
160 requirements = set(self.vfs.read(b'requires').splitlines()) 161 requirements = set(self.vfs.read(b'requires').splitlines())
161 except IOError as inst: 162 except IOError as inst:
162 if inst.errno != errno.ENOENT: 163 if inst.errno != errno.ENOENT: