comparison mercurial/upgrade.py @ 39546: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 0d97530eb535
children 8dab7c8a93eb
comparison
equal deleted inserted replaced
39545:4afd2af36456 39546:41aa5dced975
196 196
197 # the requirement that control this format variant 197 # the requirement that control this format variant
198 _requirement = None 198 _requirement = None
199 199
200 @staticmethod 200 @staticmethod
201 def _newreporequirements(repo): 201 def _newreporequirements(ui):
202 return localrepo.newreporequirements(repo) 202 return localrepo.newreporequirements(ui)
203 203
204 @classmethod 204 @classmethod
205 def fromrepo(cls, repo): 205 def fromrepo(cls, repo):
206 assert cls._requirement is not None 206 assert cls._requirement is not None
207 return cls._requirement in repo.requirements 207 return cls._requirement in repo.requirements
208 208
209 @classmethod 209 @classmethod
210 def fromconfig(cls, repo): 210 def fromconfig(cls, repo):
211 assert cls._requirement is not None 211 assert cls._requirement is not None
212 return cls._requirement in cls._newreporequirements(repo) 212 return cls._requirement in cls._newreporequirements(repo.ui)
213 213
214 @registerformatvariant 214 @registerformatvariant
215 class fncache(requirementformatvariant): 215 class fncache(requirementformatvariant):
216 name = 'fncache' 216 name = 'fncache'
217 217
749 'requirement: %s') % 749 'requirement: %s') %
750 _(', ').join(sorted(blockedreqs))) 750 _(', ').join(sorted(blockedreqs)))
751 751
752 # FUTURE there is potentially a need to control the wanted requirements via 752 # FUTURE there is potentially a need to control the wanted requirements via
753 # command arguments or via an extension hook point. 753 # command arguments or via an extension hook point.
754 newreqs = localrepo.newreporequirements(repo) 754 newreqs = localrepo.newreporequirements(repo.ui)
755 newreqs.update(preservedrequirements(repo)) 755 newreqs.update(preservedrequirements(repo))
756 756
757 noremovereqs = (repo.requirements - newreqs - 757 noremovereqs = (repo.requirements - newreqs -
758 supportremovedrequirements(repo)) 758 supportremovedrequirements(repo))
759 if noremovereqs: 759 if noremovereqs: