diff mercurial/upgrade.py @ 44741:c36a3fcfc36b stable

upgrade: properly filter action depending on planned work The `determineactions` function filters out deficiency that are not scheduled to be fixed by the target repository configuration. However it only did so for requirement we currently support, letting other actions for unsupported requirement through even if the target repo configuration did not request it. As a result the output of the command was easily polluted by experimental feature with no upgrade support. We rework the code to still filter out requirement based action without the faulty filtering. Differential Revision: https://phab.mercurial-scm.org/D8427
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 15 Apr 2020 18:10:19 +0200
parents 9d2b2df2c2ba
children 5ee4b2119af9
line wrap: on
line diff
--- a/mercurial/upgrade.py	Mon Apr 13 18:04:55 2020 +0200
+++ b/mercurial/upgrade.py	Wed Apr 15 18:10:19 2020 +0200
@@ -628,14 +628,12 @@
     """
     newactions = []
 
-    knownreqs = supporteddestrequirements(repo)
-
     for d in deficiencies:
-        name = d.name
+        name = d._requirement
 
         # If the action is a requirement that doesn't show up in the
         # destination requirements, prune the action.
-        if name in knownreqs and name not in destreqs:
+        if name is not None and name not in destreqs:
             continue
 
         newactions.append(d)