# HG changeset patch # User Gregory Szorc # Date 1578974972 28800 # 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 -r b9e174d4ed11 -r 806d14efec8d hgext/fsmonitor/watchmanclient.py --- a/hgext/fsmonitor/watchmanclient.py Mon Dec 23 01:12:20 2019 -0500 +++ b/hgext/fsmonitor/watchmanclient.py Mon Jan 13 20:09:32 2020 -0800 @@ -105,11 +105,11 @@ ) 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))