Mercurial > hg
diff mercurial/upgrade_utils/actions.py @ 46049:a2a59cde9b9f
upgrade: gather code about source checking together
They just moved in the same file, now they are grouped together and documented.
Differential Revision: https://phab.mercurial-scm.org/D9483
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 01 Dec 2020 15:54:38 +0100 |
parents | f4f956342cf1 |
children | 72b7b4bf3e65 |
line wrap: on
line diff
--- a/mercurial/upgrade_utils/actions.py Tue Dec 01 15:45:23 2020 +0100 +++ b/mercurial/upgrade_utils/actions.py Tue Dec 01 15:54:38 2020 +0100 @@ -24,38 +24,6 @@ } -def requiredsourcerequirements(repo): - """Obtain requirements required to be present to upgrade a repo. - - An upgrade will not be allowed if the repository doesn't have the - requirements returned by this function. - """ - return { - # Introduced in Mercurial 0.9.2. - b'revlogv1', - # Introduced in Mercurial 0.9.2. - b'store', - } - - -def blocksourcerequirements(repo): - """Obtain requirements that will prevent an upgrade from occurring. - - An upgrade cannot be performed if the source repository contains a - requirements in the returned set. - """ - return { - # The upgrade code does not yet support these experimental features. - # This is an artificial limitation. - requirements.TREEMANIFEST_REQUIREMENT, - # This was a precursor to generaldelta and was never enabled by default. - # It should (hopefully) not exist in the wild. - b'parentdelta', - # Upgrade should operate on the actual store, not the shared link. - requirements.SHARED_REQUIREMENT, - } - - def supportremovedrequirements(repo): """Obtain requirements that can be removed during an upgrade. @@ -667,6 +635,41 @@ return newactions +### Code checking if a repository can got through the upgrade process at all. # + + +def requiredsourcerequirements(repo): + """Obtain requirements required to be present to upgrade a repo. + + An upgrade will not be allowed if the repository doesn't have the + requirements returned by this function. + """ + return { + # Introduced in Mercurial 0.9.2. + b'revlogv1', + # Introduced in Mercurial 0.9.2. + b'store', + } + + +def blocksourcerequirements(repo): + """Obtain requirements that will prevent an upgrade from occurring. + + An upgrade cannot be performed if the source repository contains a + requirements in the returned set. + """ + return { + # The upgrade code does not yet support these experimental features. + # This is an artificial limitation. + requirements.TREEMANIFEST_REQUIREMENT, + # This was a precursor to generaldelta and was never enabled by default. + # It should (hopefully) not exist in the wild. + b'parentdelta', + # Upgrade should operate on the actual store, not the shared link. + requirements.SHARED_REQUIREMENT, + } + + def check_source_requirements(repo): """Ensure that no existing requirements prevent the repository upgrade"""