changeset 46230:1fcab88ab85c

downgrade: if a compression is removed, consider that too For compression format variant, the result of `fromrepo()` and `fromconfig()` is not a boolean and we have to actually equate those to find change. Differential Revision: https://phab.mercurial-scm.org/D9693
author Pulkit Goyal <7895pulkit@gmail.com>
date Fri, 08 Jan 2021 23:06:38 +0530
parents 52abb1af2995
children d3113c4cf52c
files mercurial/upgrade_utils/actions.py
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/upgrade_utils/actions.py	Thu Dec 31 14:28:00 2020 +0530
+++ b/mercurial/upgrade_utils/actions.py	Fri Jan 08 23:06:38 2021 +0530
@@ -467,6 +467,13 @@
     downgrades = []
 
     for fv in allformatvariant:
+        if fv.name == b'compression':
+            # If there is a compression change between repository
+            # and config, destination repository compression will change
+            # and current compression will be removed.
+            if fv.fromrepo(repo) != fv.fromconfig(repo):
+                downgrades.append(fv)
+            continue
         # format variant exist in repo but does not exist in new repository
         # config
         if fv.fromrepo(repo) and not fv.fromconfig(repo):