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: