indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY Otherwise it will be a str on Python 3 and operations below which operate in the bytes domain will fail. REPOSITORY rHG Mercurial BRANCH stable REVISION DETAIL https://phab.mercurial-scm.org/D7211 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 @@ -407,8 +407,15 @@ # for name case changes. for entry in result[b'files']: fname = entry[b'name'] + + # Watchman always give us a str. Normalize to bytes on Python 3 + # using Watchman's encoding, if needed. + if not isinstance(fname, bytes): + fname = fname.encode(_watchmanencoding) + if _fixencoding: fname = _watchmantofsencoding(fname) + if switch_slashes: fname = fname.replace(b'\\', b'/') if normalize: To: indygreg, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel