actions: introduce function to calculate downgrades
An upgrade operation can also downgrade/remove some format variants. Before this
patch there was no clean way to find out all such variants which will be
removed. This patch adds a function for that.
It will be used in next patch.
Differential Revision: https://phab.mercurial-scm.org/D9618
--- a/mercurial/upgrade_utils/actions.py Wed Dec 16 14:55:27 2020 +0530
+++ b/mercurial/upgrade_utils/actions.py Wed Dec 16 15:04:17 2020 +0530
@@ -428,6 +428,21 @@
return upgrades
+def find_format_downgrades(repo):
+ """returns a list of format downgrades which will be performed on the repo
+ because of disabled config option for them"""
+
+ downgrades = []
+
+ for fv in allformatvariant:
+ # format variant exist in repo but does not exist in new repository
+ # config
+ if fv.fromrepo(repo) and not fv.fromconfig(repo):
+ downgrades.append(fv)
+
+ return downgrades
+
+
ALL_OPTIMISATIONS = []