Mercurial > hg-stable
view hg @ 41514:8c13f7b0ace6
tests: alter email `From` line to a value that's consistently parsed
Python2:
>>> email.header.decode_header('=?UTF-8?q?Rapha=C3=ABl=20Hertzog?= <hertzog@debian.org>')
[('Rapha\xc3\xabl Hertzog', 'utf-8'), ('<hertzog@debian.org>', None)]
Python3:
>>> email.header.decode_header('=?UTF-8?q?Rapha=C3=ABl=20Hertzog?= <hertzog@debian.org>')
[(b'Rapha\xc3\xabl Hertzog', 'utf-8'), (b' <hertzog@debian.org>', None)]
So alter the input to an input that parses to the same result
consistently. After skimming the relevant RFC (1342), I'm not sure if
what we had was valid, or how I could modify it to be more consistent.
Differential Revision: https://phab.mercurial-scm.org/D5769
author | Augie Fackler <augie@google.com> |
---|---|
date | Wed, 30 Jan 2019 19:43:43 -0500 |
parents | 5e78c100a215 |
children | 5c9c71cde1c9 |
line wrap: on
line source
#!/usr/bin/env python # # mercurial - scalable distributed SCM # # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import import os import sys if os.environ.get('HGUNICODEPEDANTRY', False): try: reload(sys) sys.setdefaultencoding("undefined") except NameError: pass libdir = '@LIBDIR@' if libdir != '@' 'LIBDIR' '@': if not os.path.isabs(libdir): libdir = os.path.join(os.path.dirname(os.path.realpath(__file__)), libdir) libdir = os.path.abspath(libdir) sys.path.insert(0, libdir) from hgdemandimport import tracing with tracing.log('hg script'): # enable importing on demand to reduce startup time try: if sys.version_info[0] < 3 or sys.version_info >= (3, 6): import hgdemandimport; hgdemandimport.enable() except ImportError: sys.stderr.write("abort: couldn't find mercurial libraries in [%s]\n" % ' '.join(sys.path)) sys.stderr.write("(check your install and PYTHONPATH)\n") sys.exit(-1) from mercurial import dispatch dispatch.run()