Mercurial > hg
changeset 46190:9ab2ab5bf9af
upgrade: move `printoptimisations() to UpgradeOperation class
Part of refactor where we make things more arranged and integrated into single
`UpgradeOperation` class.
Differential Revision: https://phab.mercurial-scm.org/D9576
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Sat, 12 Dec 2020 18:00:18 +0530 |
parents | dfddcbb0c244 |
children | aba979b1b90b |
files | mercurial/upgrade.py mercurial/upgrade_utils/actions.py |
diffstat | 2 files changed, 24 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/upgrade.py Sat Dec 12 17:54:59 2020 +0530 +++ b/mercurial/upgrade.py Sat Dec 12 18:00:18 2020 +0530 @@ -150,19 +150,6 @@ ui.write((b'\n')) ui.write(b'\n') - def printoptimisations(): - optimisations = [ - a for a in actions if a.type == upgrade_actions.OPTIMISATION - ] - optimisations.sort(key=lambda a: a.name) - if optimisations: - ui.write(_(b'optimisations: ')) - write_labeled( - [a.name for a in optimisations], - "upgrade-repo.optimisation.performed", - ) - ui.write(b'\n\n') - upgrade_op = upgrade_actions.UpgradeOperation( ui, newreqs, @@ -219,7 +206,7 @@ ) printrequirements() - printoptimisations() + upgrade_op.print_optimisations() upgrade_op.print_upgrade_actions() upgrade_op.print_affected_revlogs() @@ -239,7 +226,7 @@ # Else we're in the run=true case. ui.write(_(b'upgrade will perform the following actions:\n\n')) printrequirements() - printoptimisations() + upgrade_op.print_optimisations() upgrade_op.print_upgrade_actions() upgrade_op.print_affected_revlogs()
--- a/mercurial/upgrade_utils/actions.py Sat Dec 12 17:54:59 2020 +0530 +++ b/mercurial/upgrade_utils/actions.py Sat Dec 12 18:00:18 2020 +0530 @@ -564,6 +564,28 @@ self._actions_names = set([a.name for a in actions]) self.revlogs_to_process = revlogs_to_process + def _write_labeled(self, l, label): + """ + Utility function to aid writing of a list under one label + """ + first = True + for r in sorted(l): + if not first: + self.ui.write(b', ') + self.ui.write(r, label=label) + first = False + + def print_optimisations(self): + optimisations = [a for a in self.actions if a.type == OPTIMISATION] + optimisations.sort(key=lambda a: a.name) + if optimisations: + self.ui.write(_(b'optimisations: ')) + self._write_labeled( + [a.name for a in optimisations], + "upgrade-repo.optimisation.performed", + ) + self.ui.write(b'\n\n') + def print_upgrade_actions(self): for a in self.actions: self.ui.status(b'%s\n %s\n\n' % (a.name, a.upgrademessage))