fsmonitor: fix str/bytes mismatch when accessing watchman version stable
authorGregory Szorc <gregory.szorc@gmail.com>
Sat, 02 Nov 2019 13:04:47 -0700
branchstable
changeset 43389 e6ce1599af74
parent 43388 51316de92ad0
child 43390 5fa8ac91190e
fsmonitor: fix str/bytes mismatch when accessing watchman version There were 2 bugs here. First, keys in the tuple are always str. Second, we needed to normalize the value to bytes to prevent a str/bytes mismatch on Python 3. With this commit, `hg debuginstall` with fsmonitor enabled now works on Python 3. Differential Revision: https://phab.mercurial-scm.org/D7205
hgext/fsmonitor/__init__.py
--- a/hgext/fsmonitor/__init__.py	Sat Nov 02 12:54:47 2019 -0700
+++ b/hgext/fsmonitor/__init__.py	Sat Nov 02 13:04:47 2019 -0700
@@ -190,7 +190,7 @@
         fm.write(
             b"fsmonitor-watchman-version",
             _(b" watchman binary version %s\n"),
-            v[b"version"],
+            pycompat.bytestr(v["version"]),
         )
     except watchmanclient.Unavailable as e:
         err = str(e)