Mercurial > python-hglib
diff hglib/client.py @ 169:e6589149b2c8 1.9
client: include stderr message in ServerError on initial communication failure
If _readhello() raises ServerError, the server must be unusable. So we can
terminate it to get status code and error message.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 07 Sep 2015 22:45:47 +0900 |
parents | d71bd813c9d7 |
children | 2725547a5f92 |
line wrap: on
line diff
--- a/hglib/client.py Mon Sep 07 22:32:12 2015 +0900 +++ b/hglib/client.py Mon Sep 07 22:45:47 2015 +0900 @@ -190,7 +190,12 @@ raise ValueError('server already open') self.server = util.popen(self._args, self._env) - self._readhello() + try: + self._readhello() + except error.ServerError: + ret, serr = self._close() + raise error.ServerError('server exited with status %d: %s' + % (ret, serr.strip())) return self def close(self):