fsmonitor: normalize clock value to bytes stable
authorGregory Szorc <gregory.szorc@gmail.com>
Sat, 02 Nov 2019 14:55:45 -0700
branchstable
changeset 43397 09ab61c0ab4b
parent 43396 2b5aab5e9e36
child 43398 9a8f8c6ed965
fsmonitor: normalize clock value to bytes We normalize the value returned by watchman because we perform a number of compares with this value in code. So the easiest path forward is to normalize to bytes so we don't have to update many call sites. With this commit, the fsmonitor extension appears to be working with Python 3! Although there are still some failures in edge cases... Differential Revision: https://phab.mercurial-scm.org/D7213
hgext/fsmonitor/__init__.py
--- a/hgext/fsmonitor/__init__.py	Sat Nov 02 14:27:55 2019 -0700
+++ b/hgext/fsmonitor/__init__.py	Sat Nov 02 14:55:45 2019 -0700
@@ -383,7 +383,7 @@
     else:
         # We need to propagate the last observed clock up so that we
         # can use it for our next query
-        state.setlastclock(result[b'clock'])
+        state.setlastclock(pycompat.sysbytes(result[b'clock']))
         if result[b'is_fresh_instance']:
             if state.walk_on_invalidate:
                 state.invalidate()