Mercurial > public > mercurial-scm > hg
comparison mercurial/upgrade_utils/actions.py @ 49576:d12446766a35 stable
upgrade: byteify requirement changes written to output
ui.write() expects bytes, and internally uses `b''` as the default when getting
the `label` keyword from `*args`. So either we're missing test coverage, or
there's some very subtle conversion from unicode somewhere.
Also, slip in a type hint to flag this in the future.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 06 Nov 2022 12:15:35 -0500 |
parents | 7fe86498e84f |
children | c814101560d9 |
comparison
equal
deleted
inserted
replaced
49569:5318ac25dfdc | 49576:d12446766a35 |
---|---|
850 if a.touches_dirstate: | 850 if a.touches_dirstate: |
851 return True | 851 return True |
852 | 852 |
853 return False | 853 return False |
854 | 854 |
855 def _write_labeled(self, l, label): | 855 def _write_labeled(self, l, label: bytes): |
856 """ | 856 """ |
857 Utility function to aid writing of a list under one label | 857 Utility function to aid writing of a list under one label |
858 """ | 858 """ |
859 first = True | 859 first = True |
860 for r in sorted(l): | 860 for r in sorted(l): |
865 | 865 |
866 def print_requirements(self): | 866 def print_requirements(self): |
867 self.ui.write(_(b'requirements\n')) | 867 self.ui.write(_(b'requirements\n')) |
868 self.ui.write(_(b' preserved: ')) | 868 self.ui.write(_(b' preserved: ')) |
869 self._write_labeled( | 869 self._write_labeled( |
870 self._preserved_requirements, "upgrade-repo.requirement.preserved" | 870 self._preserved_requirements, b"upgrade-repo.requirement.preserved" |
871 ) | 871 ) |
872 self.ui.write((b'\n')) | 872 self.ui.write((b'\n')) |
873 if self._removed_requirements: | 873 if self._removed_requirements: |
874 self.ui.write(_(b' removed: ')) | 874 self.ui.write(_(b' removed: ')) |
875 self._write_labeled( | 875 self._write_labeled( |
876 self._removed_requirements, "upgrade-repo.requirement.removed" | 876 self._removed_requirements, b"upgrade-repo.requirement.removed" |
877 ) | 877 ) |
878 self.ui.write((b'\n')) | 878 self.ui.write((b'\n')) |
879 if self._added_requirements: | 879 if self._added_requirements: |
880 self.ui.write(_(b' added: ')) | 880 self.ui.write(_(b' added: ')) |
881 self._write_labeled( | 881 self._write_labeled( |
882 self._added_requirements, "upgrade-repo.requirement.added" | 882 self._added_requirements, b"upgrade-repo.requirement.added" |
883 ) | 883 ) |
884 self.ui.write((b'\n')) | 884 self.ui.write((b'\n')) |
885 self.ui.write(b'\n') | 885 self.ui.write(b'\n') |
886 | 886 |
887 def print_optimisations(self): | 887 def print_optimisations(self): |
891 optimisations.sort(key=lambda a: a.name) | 891 optimisations.sort(key=lambda a: a.name) |
892 if optimisations: | 892 if optimisations: |
893 self.ui.write(_(b'optimisations: ')) | 893 self.ui.write(_(b'optimisations: ')) |
894 self._write_labeled( | 894 self._write_labeled( |
895 [a.name for a in optimisations], | 895 [a.name for a in optimisations], |
896 "upgrade-repo.optimisation.performed", | 896 b"upgrade-repo.optimisation.performed", |
897 ) | 897 ) |
898 self.ui.write(b'\n\n') | 898 self.ui.write(b'\n\n') |
899 | 899 |
900 def print_upgrade_actions(self): | 900 def print_upgrade_actions(self): |
901 for a in self.upgrade_actions: | 901 for a in self.upgrade_actions: |