diff -r 083438d6f403 -r a51d345f1404 mercurial/upgrade_utils/actions.py --- a/mercurial/upgrade_utils/actions.py Wed Dec 16 12:39:15 2020 +0530 +++ b/mercurial/upgrade_utils/actions.py Wed Dec 16 14:06:24 2020 +0530 @@ -526,7 +526,9 @@ return list(ALL_OPTIMISATIONS) -def determineactions(repo, format_upgrades, sourcereqs, destreqs): +def determineactions( + repo, format_upgrades, optimizations, sourcereqs, destreqs +): """Determine upgrade actions that will be performed. Given a list of improvements as returned by ``find_format_upgrades`` and @@ -551,6 +553,8 @@ newactions.append(d) + newactions.extend(o for o in sorted(optimizations) if o not in newactions) + # FUTURE consider adding some optimizations here for certain transitions. # e.g. adding generaldelta could schedule parent redeltas.