Read about our upcoming Code of Conduct on this issue

This instance will be upgraded to Heptapod 0.28.1 on 2022-01-26 at 16:00 UTC+1 (a few minutes of down time)

Commit bbaecd0b authored by Martin von Zweigbergk's avatar Martin von Zweigbergk
Browse files

py3: require values in changelog extras to be bytes

I don't know what happened here because b436059c1cca (py3: use
pycompat.bytestr() on extra values because it can be int, 2019-02-05)
came about b44a47214122 (py3: use string for "close" value in commit
extras, 2018-02-11). Whatever happened, we shouldn't need to convert
the values to bytes now. It's better to not convert because that might
cover up bugs where someone sets a unicode value in the extras and
that works until the unicode value happens to contain non-ascii (at
which point it will fail because `bytestr()` expects its argument to
be ascii if it's unicode).

Differential Revision: https://phab.mercurial-scm.org/D8332

--HG--
branch : stable
parent bda050bc9987
......@@ -82,10 +82,7 @@ def decodeextra(text):
def encodeextra(d):
# keys must be sorted to produce a deterministic changelog entry
items = [
_string_escape(b'%s:%s' % (k, pycompat.bytestr(d[k])))
for k in sorted(d)
]
items = [_string_escape(b'%s:%s' % (k, d[k])) for k in sorted(d)]
return b"\0".join(items)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment