# HG changeset patch # User Augie Fackler # Date 1512928357 18000 # Node ID 6949fc164439d65b61542492293839648dda1609 # Parent c586d02f7cdad2615a094fffa160a305779cd32d hgclient: look for an open server before closing it in ResponseError block At least some of the codepaths that can throw a ResponseError close the server first (the one in _readchannel does so in order to detect server startup failures, for example), so we have to verify we have a server to close before doing so, otherwise we can lose the ResponseError and the user sees an AttributeError when we try to use .close() on a NoneType. diff -r c586d02f7cda -r 6949fc164439 hglib/client.py --- a/hglib/client.py Sun Dec 10 12:50:57 2017 -0500 +++ b/hglib/client.py Sun Dec 10 12:52:37 2017 -0500 @@ -271,7 +271,8 @@ try: self._readhello() except error.ResponseError: - self.close() + if self.server is not None: + self._close() raise except error.ServerError: if self.server is None: