Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 24915:1c40408770f7
localrepo: make _applyrequirements more specific
Localrepo's _applyrequirements function isn't very straightforward about what
it does. Its purpose is to both act as a setter for the requirements attribute,
and to apply appropriate requirements to the opener's configuration.
This change makes the function just focus on the latter responsibility. We
rename it as such, and make setting the requirements attribute the
responsibility of the caller.
author | Drew Gottlieb <drgott@google.com> |
---|---|
date | Wed, 22 Apr 2015 12:06:44 -0700 |
parents | cb144bfc61ea |
children | 658bd4dc7a73 |
comparison
equal
deleted
inserted
replaced
24914:cb144bfc61ea | 24915:1c40408770f7 |
---|---|
289 self.spath = self.store.path | 289 self.spath = self.store.path |
290 self.svfs = self.store.vfs | 290 self.svfs = self.store.vfs |
291 self.sopener = self.svfs | 291 self.sopener = self.svfs |
292 self.sjoin = self.store.join | 292 self.sjoin = self.store.join |
293 self.vfs.createmode = self.store.createmode | 293 self.vfs.createmode = self.store.createmode |
294 self._applyrequirements(requirements) | 294 self.requirements = requirements |
295 self._applyopenerreqs() | |
295 if create: | 296 if create: |
296 self._writerequirements() | 297 self._writerequirements() |
297 | 298 |
298 | 299 |
299 self._branchcaches = {} | 300 self._branchcaches = {} |
332 caps = set(caps) | 333 caps = set(caps) |
333 capsblob = bundle2.encodecaps(bundle2.getrepocaps(self)) | 334 capsblob = bundle2.encodecaps(bundle2.getrepocaps(self)) |
334 caps.add('bundle2=' + urllib.quote(capsblob)) | 335 caps.add('bundle2=' + urllib.quote(capsblob)) |
335 return caps | 336 return caps |
336 | 337 |
337 def _applyrequirements(self, requirements): | 338 def _applyopenerreqs(self): |
338 self.requirements = requirements | 339 self.svfs.options = dict((r, 1) for r in self.requirements |
339 self.svfs.options = dict((r, 1) for r in requirements | |
340 if r in self.openerreqs) | 340 if r in self.openerreqs) |
341 chunkcachesize = self.ui.configint('format', 'chunkcachesize') | 341 chunkcachesize = self.ui.configint('format', 'chunkcachesize') |
342 if chunkcachesize is not None: | 342 if chunkcachesize is not None: |
343 self.svfs.options['chunkcachesize'] = chunkcachesize | 343 self.svfs.options['chunkcachesize'] = chunkcachesize |
344 maxchainlen = self.ui.configint('format', 'maxchainlen') | 344 maxchainlen = self.ui.configint('format', 'maxchainlen') |
1826 | 1826 |
1827 # new requirements = old non-format requirements + | 1827 # new requirements = old non-format requirements + |
1828 # new format-related | 1828 # new format-related |
1829 # requirements from the streamed-in repository | 1829 # requirements from the streamed-in repository |
1830 requirements.update(self.requirements - self.supportedformats) | 1830 requirements.update(self.requirements - self.supportedformats) |
1831 self._applyrequirements(requirements) | 1831 self.requirements = requirements |
1832 self._applyopenerreqs() | |
1832 self._writerequirements() | 1833 self._writerequirements() |
1833 | 1834 |
1834 if rbranchmap: | 1835 if rbranchmap: |
1835 rbheads = [] | 1836 rbheads = [] |
1836 closed = [] | 1837 closed = [] |