Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/localrepo.py @ 39563:41aa5dced975
localrepo: pass ui to newreporequirements() (API)
newreporequirements() is called as part of creating a new repository.
It doesn't make much sense for it to receive a repo instance as part
of determining what requirements for new repos should be.
.. api::
localrepo.newreporequirements() receives a ui instead of a repo
Differential Revision: https://phab.mercurial-scm.org/D4533
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 07 Sep 2018 15:57:55 -0700 |
parents | b66ea3fc3a86 |
children | 7ce9dea3a14a |
comparison
equal
deleted
inserted
replaced
39562:4afd2af36456 | 39563:41aa5dced975 |
---|---|
474 if engine.revlogheader(): | 474 if engine.revlogheader(): |
475 self.supported.add('exp-compression-%s' % name) | 475 self.supported.add('exp-compression-%s' % name) |
476 | 476 |
477 if not self.vfs.isdir(): | 477 if not self.vfs.isdir(): |
478 if create: | 478 if create: |
479 self.requirements = newreporequirements(self) | 479 self.requirements = newreporequirements(self.ui) |
480 | 480 |
481 if not self.wvfs.exists(): | 481 if not self.wvfs.exists(): |
482 self.wvfs.makedirs() | 482 self.wvfs.makedirs() |
483 self.vfs.makedir(notindexed=True) | 483 self.vfs.makedir(notindexed=True) |
484 | 484 |
2400 intents=intents) | 2400 intents=intents) |
2401 | 2401 |
2402 def islocal(path): | 2402 def islocal(path): |
2403 return True | 2403 return True |
2404 | 2404 |
2405 def newreporequirements(repo): | 2405 def newreporequirements(ui): |
2406 """Determine the set of requirements for a new local repository. | 2406 """Determine the set of requirements for a new local repository. |
2407 | 2407 |
2408 Extensions can wrap this function to specify custom requirements for | 2408 Extensions can wrap this function to specify custom requirements for |
2409 new repositories. | 2409 new repositories. |
2410 """ | 2410 """ |
2411 ui = repo.ui | |
2412 requirements = {'revlogv1'} | 2411 requirements = {'revlogv1'} |
2413 if ui.configbool('format', 'usestore'): | 2412 if ui.configbool('format', 'usestore'): |
2414 requirements.add('store') | 2413 requirements.add('store') |
2415 if ui.configbool('format', 'usefncache'): | 2414 if ui.configbool('format', 'usefncache'): |
2416 requirements.add('fncache') | 2415 requirements.add('fncache') |
2442 requirements.remove('revlogv1') | 2441 requirements.remove('revlogv1') |
2443 # generaldelta is implied by revlogv2. | 2442 # generaldelta is implied by revlogv2. |
2444 requirements.discard('generaldelta') | 2443 requirements.discard('generaldelta') |
2445 requirements.add(REVLOGV2_REQUIREMENT) | 2444 requirements.add(REVLOGV2_REQUIREMENT) |
2446 # experimental config: format.internal-phase | 2445 # experimental config: format.internal-phase |
2447 if repo.ui.configbool('format', 'internal-phase'): | 2446 if ui.configbool('format', 'internal-phase'): |
2448 requirements.add('internal-phase') | 2447 requirements.add('internal-phase') |
2449 | 2448 |
2450 return requirements | 2449 return requirements |