D4533: localrepo: pass ui to newreporequirements()

2018-09-12 Thread indygreg (Gregory Szorc)
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=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
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D4533: localrepo: pass ui to newreporequirements()

2018-09-11 Thread indygreg (Gregory Szorc)
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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

REPOSITORY
  rHG Mercurial

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
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel