# HG changeset patch # User Pierre-Yves David # Date 1675354775 -3600 # Node ID 55886050a583cad08597005d0c58d6fc112b075a # Parent 037890ecaff547f5d6547dfec03b2136f797301e safehasattr: pass attribute name as string instead of bytes This is a step toward replacing `util.safehasattr` usage with plain `hasattr`. The builtin function behave poorly in Python2 but this was fixed in Python3. These change are done one by one as they tend to have a small odd to trigger puzzling breackage. diff -r 037890ecaff5 -r 55886050a583 mercurial/chgserver.py --- a/mercurial/chgserver.py Thu Feb 02 17:19:26 2023 +0100 +++ b/mercurial/chgserver.py Thu Feb 02 17:19:35 2023 +0100 @@ -236,7 +236,7 @@ # will behave differently (i.e. write to stdout). if ( out is not self.fout - or not util.safehasattr(self.fout, b'fileno') + or not util.safehasattr(self.fout, 'fileno') or self.fout.fileno() != procutil.stdout.fileno() or self._finoutredirected ):