--- a/mercurial/localrepo.py Thu Aug 15 14:53:17 2024 +0100
+++ b/mercurial/localrepo.py Thu Aug 15 14:56:50 2024 +0100
@@ -523,20 +523,6 @@
return sharedvfs
-def _readrequires(vfs, allowmissing):
- """reads the require file present at root of this vfs
- and return a set of requirements
-
- If allowmissing is True, we suppress FileNotFoundError if raised"""
- # requires file contains a newline-delimited list of
- # features/capabilities the opener (us) must have in order to use
- # the repository. This file was introduced in Mercurial 0.9.2,
- # which means very old repositories may not have one. We assume
- # a missing file translates to no requirements.
- read = vfs.tryread if allowmissing else vfs.read
- return set(read(b'requires').splitlines())
-
-
def makelocalrepository(baseui, path: bytes, intents=None):
"""Create a local repository object.
@@ -598,7 +584,7 @@
raise error.RepoError(_(b'repository %s not found') % path)
- requirements = _readrequires(hgvfs, True)
+ requirements = scmutil.readrequires(hgvfs, True)
shared = (
requirementsmod.SHARED_REQUIREMENT in requirements
or requirementsmod.RELATIVE_SHARED_REQUIREMENT in requirements
@@ -626,7 +612,7 @@
if (
shared
and requirementsmod.SHARESAFE_REQUIREMENT
- not in _readrequires(sharedvfs, True)
+ not in scmutil.readrequires(sharedvfs, True)
):
mismatch_warn = ui.configbool(
b'share', b'safe-mismatch.source-not-safe.warn'
@@ -670,9 +656,9 @@
hint=hint,
)
else:
- requirements |= _readrequires(storevfs, False)
+ requirements |= scmutil.readrequires(storevfs, False)
elif shared:
- sourcerequires = _readrequires(sharedvfs, False)
+ sourcerequires = scmutil.readrequires(sharedvfs, False)
if requirementsmod.SHARESAFE_REQUIREMENT in sourcerequires:
mismatch_config = ui.config(b'share', b'safe-mismatch.source-safe')
mismatch_warn = ui.configbool(
--- a/mercurial/upgrade.py Thu Aug 15 14:53:17 2024 +0100
+++ b/mercurial/upgrade.py Thu Aug 15 14:56:50 2024 +0100
@@ -308,7 +308,7 @@
):
"""Upgrades a share to use share-safe mechanism"""
wlock = None
- store_requirements = localrepo._readrequires(storevfs, False)
+ store_requirements = scmutil.readrequires(storevfs, False)
original_crequirements = current_requirements.copy()
# after upgrade, store requires will be shared, so lets find
# the requirements which are not present in store and
@@ -325,7 +325,7 @@
wlock = lockmod.trylock(ui, hgvfs, b'wlock', 0, 0)
# some process might change the requirement in between, re-read
# and update current_requirements
- locked_requirements = localrepo._readrequires(hgvfs, True)
+ locked_requirements = scmutil.readrequires(hgvfs, True)
if locked_requirements != original_crequirements:
removed = current_requirements - locked_requirements
# update current_requirements in place because it's passed
@@ -371,7 +371,7 @@
):
"""Downgrades a share which use share-safe to not use it"""
wlock = None
- source_requirements = localrepo._readrequires(sharedvfs, True)
+ source_requirements = scmutil.readrequires(sharedvfs, True)
original_crequirements = current_requirements.copy()
# we cannot be 100% sure on which requirements were present in store when
# the source supported share-safe. However, we do know that working
@@ -386,7 +386,7 @@
wlock = lockmod.trylock(ui, hgvfs, b'wlock', 0, 0)
# some process might change the requirement in between, re-read
# and update current_requirements
- locked_requirements = localrepo._readrequires(hgvfs, True)
+ locked_requirements = scmutil.readrequires(hgvfs, True)
if locked_requirements != original_crequirements:
removed = current_requirements - locked_requirements
# update current_requirements in place because it's passed