# HG changeset patch # User Pierre-Yves David # Date 2019-11-29 14:36:45 # Node ID ad84fc97d1208aae09a30d2d3b45704cf3d94181 # Parent 76d32a0edbc6a88474fb9ed93ff46806ad2d11a1 upgrade-repo: colorize some of the output Having clear color for requirement added and removed is useful. diff --git a/mercurial/color.py b/mercurial/color.py --- a/mercurial/color.py +++ b/mercurial/color.py @@ -145,6 +145,9 @@ except ImportError: b'status.unknown': b'magenta bold underline', b'tags.normal': b'green', b'tags.local': b'black bold', + b'upgrade-repo.requirement.preserved': b'cyan', + b'upgrade-repo.requirement.added': b'green', + b'upgrade-repo.requirement.removed': b'red', } diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py --- a/mercurial/upgrade.py +++ b/mercurial/upgrade.py @@ -1242,25 +1242,31 @@ def upgraderepo( ui.warn(msg % b', '.join(sorted(incompatible))) revlogs = UPGRADE_ALL_REVLOGS + def write_labeled(l, label): + first = True + for r in sorted(l): + if not first: + ui.write(b', ') + ui.write(r, label=label) + first = False + def printrequirements(): ui.write(_(b'requirements\n')) - ui.write( - _(b' preserved: %s\n') - % _(b', ').join(sorted(newreqs & repo.requirements)) + ui.write(_(b' preserved: ')) + write_labeled( + newreqs & repo.requirements, "upgrade-repo.requirement.preserved" ) - + ui.write((b'\n')) + removed = repo.requirements - newreqs if repo.requirements - newreqs: - ui.write( - _(b' removed: %s\n') - % _(b', ').join(sorted(repo.requirements - newreqs)) - ) - - if newreqs - repo.requirements: - ui.write( - _(b' added: %s\n') - % _(b', ').join(sorted(newreqs - repo.requirements)) - ) - + ui.write(_(b' removed: ')) + write_labeled(removed, "upgrade-repo.requirement.removed") + ui.write((b'\n')) + added = newreqs - repo.requirements + if added: + ui.write(_(b' added: ')) + write_labeled(added, "upgrade-repo.requirement.added") + ui.write((b'\n')) ui.write(b'\n') def printupgradeactions():