# HG changeset patch # User Gregory Szorc # Date 2020-01-14 04:09:32 # Node ID 806d14efec8ddae9ffa1a0e877adebcc4a31df82 # Parent b9e174d4ed11c874f6148b6895020ed9700cefb7 fsmonitor: properly handle str ex.msg ex.msg is always a str, since pywatchman uses str for exception messages. This commit removes a b'' from a string compare to avoid types mismatch and adds a coercion to bytes before stuffing the exception message on our local exception type, which uses bytes for the message elsewhere in this file. Differential Revision: https://phab.mercurial-scm.org/D7855 diff --git a/hgext/fsmonitor/watchmanclient.py b/hgext/fsmonitor/watchmanclient.py --- a/hgext/fsmonitor/watchmanclient.py +++ b/hgext/fsmonitor/watchmanclient.py @@ -105,11 +105,11 @@ class client(object): ) return self._watchmanclient.query(*watchmanargs) except pywatchman.CommandError as ex: - if b'unable to resolve root' in ex.msg: + if 'unable to resolve root' in ex.msg: raise WatchmanNoRoot( self._root, stringutil.forcebytestr(ex.msg) ) - raise Unavailable(ex.msg) + raise Unavailable(stringutil.forcebytestr(ex.msg)) except pywatchman.WatchmanError as ex: raise Unavailable(stringutil.forcebytestr(ex))