D2448: httppeer: explicitly catch urlerr.httperror and re-raise
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Mon Feb 26 08:12:37 EST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGefebfa9b4cab: httppeer: explicitly catch urlerr.httperror and re-raise (authored by durin42, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D2448?vs=6103&id=6120
REVISION DETAIL
https://phab.mercurial-scm.org/D2448
AFFECTED FILES
mercurial/httppeer.py
CHANGE DETAILS
diff --git a/mercurial/httppeer.py b/mercurial/httppeer.py
--- a/mercurial/httppeer.py
+++ b/mercurial/httppeer.py
@@ -439,6 +439,11 @@
if len(vals) < 2:
raise error.ResponseError(_("unexpected response:"), r)
return vals
+ except urlerr.httperror:
+ # Catch and re-raise these so we don't try and treat them
+ # like generic socket errors. They lack any values in
+ # .args on Python 3 which breaks our socket.error block.
+ raise
except socket.error as err:
if err.args[0] in (errno.ECONNRESET, errno.EPIPE):
raise error.Abort(_('push failed: %s') % err.args[1])
To: durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list