# HG changeset patch # User Yuya Nishihara # Date 2018-07-01 14:36:53 # Node ID 443029011990c75c533ec0454fd0f5c1060d4690 # Parent 3a0f322af1926e52322d2cff90a71529f359f2d9 encoding: alias cp65001 to utf-8 on Windows As far as I can tell, cp65001 is the Windows name for UTF-8. I don't know how different it is from the UTF-8, but Python 3 appears to have introduced new codec for cp65001, so the alias is enabled only for Python 2. https://bugs.python.org/issue13216 This patch is untested, but hopefully fixes the following issue. https://bitbucket.org/tortoisehg/thg/issues/5127/ diff --git a/mercurial/encoding.py b/mercurial/encoding.py --- a/mercurial/encoding.py +++ b/mercurial/encoding.py @@ -72,6 +72,11 @@ else: '646': lambda: 'ascii', 'ANSI_X3.4-1968': lambda: 'ascii', } +# cp65001 is a Windows variant of utf-8, which isn't supported on Python 2. +# No idea if it should be rewritten to the canonical name 'utf-8' on Python 3. +# https://bugs.python.org/issue13216 +if pycompat.iswindows and not pycompat.ispy3: + _encodingfixers['cp65001'] = lambda: 'utf-8' try: encoding = environ.get("HGENCODING")