[PATCH 2 of 2 STABLE V3] py3: fix patchbomb to accept non-ASCII header value for email preview

Yuya Nishihara yuya at tcha.org
Wed Oct 30 09:02:23 EDT 2019


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1572439788 -32400
#      Wed Oct 30 21:49:48 2019 +0900
# Branch stable
# Node ID 3b53b4da70668d5abd27993778fe2da0606aca45
# Parent  e7add06518eeebeb236a97ab051bb55e95c591b8
py3: fix patchbomb to accept non-ASCII header value for email preview

Since mail.headencode() is disabled by -n/--test, non-ASCII header value
has to be allowed.

Spotted by Denis Laxalde.

diff --git a/hgext/patchbomb.py b/hgext/patchbomb.py
--- a/hgext/patchbomb.py
+++ b/hgext/patchbomb.py
@@ -960,7 +960,10 @@ def email(ui, repo, *revs, **opts):
                     hdr = pycompat.strurl(hdr)
                     change = True
                 if isinstance(val, bytes):
-                    val = pycompat.strurl(val)
+                    # header value should be ASCII since it's encoded by
+                    # mail.headencode(), but -n/--test disables it and raw
+                    # value of platform encoding is stored.
+                    val = encoding.strfromlocal(val)
                     if not change:
                         # prevent duplicate headers
                         del m[hdr]


More information about the Mercurial-devel mailing list