Mercurial > public > mercurial-scm > hg-stable
diff mercurial/upgrade.py @ 46055:72b7b4bf3e65
upgrade: extract the checking of target requirements change
This logic is fairly independant, lets move it out of the main function.
Differential Revision: https://phab.mercurial-scm.org/D9485
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 01 Dec 2020 20:24:38 +0100 |
parents | ad9dd4d333be |
children | c407513a44a3 |
line wrap: on
line diff
--- a/mercurial/upgrade.py Tue Dec 01 15:50:12 2020 +0100 +++ b/mercurial/upgrade.py Tue Dec 01 20:24:38 2020 +0100 @@ -74,48 +74,11 @@ # Ensure the repository can be upgraded. upgrade_actions.check_source_requirements(repo) - newreqs = localrepo.newreporequirements( - repo.ui, localrepo.defaultcreateopts(repo.ui) - ) + default_options = localrepo.defaultcreateopts(repo.ui) + newreqs = localrepo.newreporequirements(repo.ui, default_options) newreqs.update(upgrade_actions.preservedrequirements(repo)) - noremovereqs = ( - repo.requirements - - newreqs - - upgrade_actions.supportremovedrequirements(repo) - ) - if noremovereqs: - raise error.Abort( - _( - b'cannot upgrade repository; requirement would be ' - b'removed: %s' - ) - % _(b', ').join(sorted(noremovereqs)) - ) - - noaddreqs = ( - newreqs - - repo.requirements - - upgrade_actions.allowednewrequirements(repo) - ) - if noaddreqs: - raise error.Abort( - _( - b'cannot upgrade repository; do not support adding ' - b'requirement: %s' - ) - % _(b', ').join(sorted(noaddreqs)) - ) - - unsupportedreqs = newreqs - upgrade_actions.supporteddestrequirements(repo) - if unsupportedreqs: - raise error.Abort( - _( - b'cannot upgrade repository; do not support ' - b'destination requirement: %s' - ) - % _(b', ').join(sorted(unsupportedreqs)) - ) + upgrade_actions.check_requirements_changes(repo, newreqs) # Find and validate all improvements that can be made. alloptimizations = upgrade_actions.findoptimizations(repo)