D7213: fsmonitor: normalize clock value to bytes

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Sat Nov 2 22:04:28 UTC 2019


indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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...

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D7213

AFFECTED FILES
  hgext/fsmonitor/__init__.py

CHANGE DETAILS

diff --git a/hgext/fsmonitor/__init__.py b/hgext/fsmonitor/__init__.py
--- a/hgext/fsmonitor/__init__.py
+++ b/hgext/fsmonitor/__init__.py
@@ -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()



To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list