D4533: localrepo: pass ui to newreporequirements()

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Wed Sep 12 08:32:09 EDT 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rHGc20301a2bd87: localrepo: pass ui to newreporequirements() (authored by indygreg, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4533?vs=10910&id=10923

REVISION DETAIL
  https://phab.mercurial-scm.org/D4533

AFFECTED FILES
  mercurial/localrepo.py
  mercurial/upgrade.py
  tests/simplestorerepo.py

CHANGE DETAILS

diff --git a/tests/simplestorerepo.py b/tests/simplestorerepo.py
--- a/tests/simplestorerepo.py
+++ b/tests/simplestorerepo.py
@@ -712,9 +712,9 @@
 def featuresetup(ui, supported):
     supported.add(REQUIREMENT)
 
-def newreporequirements(orig, repo):
+def newreporequirements(orig, ui):
     """Modifies default requirements for new repos to use the simple store."""
-    requirements = orig(repo)
+    requirements = orig(ui)
 
     # These requirements are only used to affect creation of the store
     # object. We have our own store. So we can remove them.
diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py
--- a/mercurial/upgrade.py
+++ b/mercurial/upgrade.py
@@ -198,8 +198,8 @@
     _requirement = None
 
     @staticmethod
-    def _newreporequirements(repo):
-        return localrepo.newreporequirements(repo)
+    def _newreporequirements(ui):
+        return localrepo.newreporequirements(ui)
 
     @classmethod
     def fromrepo(cls, repo):
@@ -209,7 +209,7 @@
     @classmethod
     def fromconfig(cls, repo):
         assert cls._requirement is not None
-        return cls._requirement in cls._newreporequirements(repo)
+        return cls._requirement in cls._newreporequirements(repo.ui)
 
 @registerformatvariant
 class fncache(requirementformatvariant):
@@ -751,7 +751,7 @@
 
     # FUTURE there is potentially a need to control the wanted requirements via
     # command arguments or via an extension hook point.
-    newreqs = localrepo.newreporequirements(repo)
+    newreqs = localrepo.newreporequirements(repo.ui)
     newreqs.update(preservedrequirements(repo))
 
     noremovereqs = (repo.requirements - newreqs -
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -476,7 +476,7 @@
 
         if not self.vfs.isdir():
             if create:
-                self.requirements = newreporequirements(self)
+                self.requirements = newreporequirements(self.ui)
 
                 if not self.wvfs.exists():
                     self.wvfs.makedirs()
@@ -2402,13 +2402,12 @@
 def islocal(path):
     return True
 
-def newreporequirements(repo):
+def newreporequirements(ui):
     """Determine the set of requirements for a new local repository.
 
     Extensions can wrap this function to specify custom requirements for
     new repositories.
     """
-    ui = repo.ui
     requirements = {'revlogv1'}
     if ui.configbool('format', 'usestore'):
         requirements.add('store')
@@ -2444,7 +2443,7 @@
         requirements.discard('generaldelta')
         requirements.add(REVLOGV2_REQUIREMENT)
     # experimental config: format.internal-phase
-    if repo.ui.configbool('format', 'internal-phase'):
+    if ui.configbool('format', 'internal-phase'):
         requirements.add('internal-phase')
 
     return requirements



To: indygreg, #hg-reviewers, pulkit
Cc: mercurial-devel


More information about the Mercurial-devel mailing list