changeset 46212:c97d8e0406a6

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
author Pulkit Goyal <7895pulkit@gmail.com>
date Wed, 16 Dec 2020 15:04:17 +0530
parents 2dbe6053d49a
children 30310886d423
files mercurial/upgrade_utils/actions.py
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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 = []