# HG changeset patch # User Yuya Nishihara # Date 1518858891 -32400 # Node ID 1fa33bd848eebd61134e751d1e6e149767e1c706 # Parent b44fac3a49fbfcb53c562edc352bc46258bd5bb4 py3: fix bytes-unicode dance while building docstring of extdiff diff -r b44fac3a49fb -r 1fa33bd848ee hgext/extdiff.py --- a/hgext/extdiff.py Sat Feb 17 18:09:56 2018 +0900 +++ b/hgext/extdiff.py Sat Feb 17 18:14:51 2018 +0900 @@ -366,7 +366,7 @@ # We can't pass non-ASCII through docstrings (and path is # in an unknown encoding anyway) docpath = util.escapestr(path) - self.__doc__ = self.__doc__ % {'path': util.uirepr(docpath)} + self.__doc__ %= {r'path': pycompat.sysstr(util.uirepr(docpath))} self._cmdline = cmdline def __call__(self, ui, repo, *pats, **opts): diff -r b44fac3a49fb -r 1fa33bd848ee mercurial/util.py --- a/mercurial/util.py Sat Feb 17 18:09:56 2018 +0900 +++ b/mercurial/util.py Sat Feb 17 18:14:51 2018 +0900 @@ -2427,7 +2427,7 @@ def uirepr(s): # Avoid double backslash in Windows path repr() - return repr(s).replace('\\\\', '\\') + return pycompat.byterepr(pycompat.bytestr(s)).replace(b'\\\\', b'\\') # delay import of textwrap def MBTextWrapper(**kwargs):