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 = []