# HG changeset patch # User Pierre-Yves David # Date 2023-02-02 16:36:07 # Node ID a2f9228257218a2f87264dfba289d28a9a77b91f # Parent 1d937e495cd0ccbf22b117b6c1f293e7759e284d 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 --git a/mercurial/sslutil.py b/mercurial/sslutil.py --- a/mercurial/sslutil.py +++ b/mercurial/sslutil.py @@ -419,7 +419,7 @@ def wrapsocket(sock, keyfile, certfile, pass # Try to print more helpful error messages for known failures. - if util.safehasattr(e, b'reason'): + if util.safehasattr(e, 'reason'): # This error occurs when the client and server don't share a # common/supported SSL/TLS protocol. We've disabled SSLv2 and SSLv3 # outright. Hopefully the reason for this error is that we require