Patchwork [4,of,4] client: raise ResponseError in _readchannel()

mail settings
Submitter Gábor Stefanik
Date Aug. 21, 2017, 3:19 p.m.
Message ID <6f59b1f3360d599dfe66.1503328742@GSTEFANIK.NavnGo.local>
Download mbox | patch
Permalink /patch/23189/
State Superseded
Headers show


Gábor Stefanik - Aug. 21, 2017, 3:19 p.m.
# HG changeset patch
# User Gábor Stefanik <>
# Date 1503328417 -7200
#      Mon Aug 21 17:13:37 2017 +0200
# Node ID 6f59b1f3360d599dfe66cf509bbde926d87ebe5e
# Parent  8b4d606b49655d44091c2689a3f35a3fff17a28d
client: raise ResponseError in _readchannel()

Make it clearer that this is an unrecoverable communication error.
ServerError alone is not always unrecoverable, as CapabilityError is considered
a subtype of it.

This way, a caller can check for ResponseError to identify errors that require
reopening the client to recover.

 This message, including its attachments, is confidential and the property of NNG Llc. For more information please read NNG's email policy here:
By responding to this email you accept the email policy.


diff -r 8b4d606b4965 -r 6f59b1f3360d hglib/

--- a/hglib/   Mon Aug 21 17:06:13 2017 +0200

+++ b/hglib/   Mon Aug 21 17:13:37 2017 +0200

@@ -140,7 +140,7 @@ 

         data =
         if not data:
-            raise error.ServerError()

+            raise error.ResponseError('no response received from server')

         channel, length = struct.unpack(hgclient.outputfmt, data)
         if channel in b('IL'):
             return channel, length