mercurial/upgrade.py
changeset 46051 72b7b4bf3e65
parent 46050 ad9dd4d333be
child 46056 c407513a44a3
--- 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)