# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1607933905 -19800 # Node ID 25d11b24dedfd1b0b5885d8e3ebc816e568ea7e4 # Parent aba979b1b90b0dcaa6cfcfd53f975eab0d7706d0 upgrade: move printing of unused optimizations to UpgradeOperation class Differential Revision: https://phab.mercurial-scm.org/D9578 diff -r aba979b1b90b -r 25d11b24dedf mercurial/upgrade.py --- a/mercurial/upgrade.py Sat Dec 12 18:09:16 2020 +0530 +++ b/mercurial/upgrade.py Mon Dec 14 13:48:25 2020 +0530 @@ -184,17 +184,14 @@ upgrade_op.print_upgrade_actions() upgrade_op.print_affected_revlogs() - unusedoptimize = [i for i in alloptimizations if i not in actions] - - if unusedoptimize: + if upgrade_op.unused_optimizations: ui.status( _( b'additional optimizations are available by specifying ' b'"--optimize ":\n\n' ) ) - for i in unusedoptimize: - ui.status(_(b'%s\n %s\n\n') % (i.name, i.description)) + upgrade_op.print_unused_optimizations() return # Else we're in the run=true case. diff -r aba979b1b90b -r 25d11b24dedf mercurial/upgrade_utils/actions.py --- a/mercurial/upgrade_utils/actions.py Sat Dec 12 18:09:16 2020 +0530 +++ b/mercurial/upgrade_utils/actions.py Mon Dec 14 13:48:25 2020 +0530 @@ -583,6 +583,12 @@ self._preserved_requirements = ( self.current_requirements & self.new_requirements ) + # optimizations which are not used and it's recommended that they + # should use them + all_optimizations = findoptimizations(None) + self.unused_optimizations = [ + i for i in all_optimizations if i not in self.actions + ] def _write_labeled(self, l, label): """ @@ -640,6 +646,10 @@ self.ui.write((b' - %s\n' % r)) self.ui.write((b'\n')) + def print_unused_optimizations(self): + for i in self.unused_optimizations: + self.ui.status(_(b'%s\n %s\n\n') % (i.name, i.description)) + def has_action(self, name): """ Check whether the upgrade operation will perform this action """ return name in self._actions_names