Commit a9a976ac authored by Kyle Lippincott's avatar Kyle Lippincott
Browse files

py3: fix broken man page generation, it was generating `(default: NUL*)`

`bytes(default)` was producing things like `(default: \x00)` when handed
non-bytes values such as `1`, `10`, or `True`. The man page generation would
apparently ignore these bytes and produce man pages that had the string
`(default: )`.

Test Plan:
- Ran `cd doc; python3 gendoc.py "hg.1.gendoc"` and grepped for bad output
- Ran `make deb`, extracted the deb, manually inspected `hg.1` file.

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

--HG--
branch : stable
parent 9e5f598fd29b
......@@ -40,6 +40,7 @@ from mercurial.i18n import (
gettext,
_,
)
from mercurial.utils import stringutil
table = commands.table
globalopts = commands.globalopts
......@@ -85,7 +86,9 @@ def get_opts(opts):
if b'\n' in desc:
# only remove line breaks and indentation
desc = b' '.join(l.lstrip() for l in desc.split(b'\n'))
desc += default and _(b" (default: %s)") % bytes(default) or b""
if default:
default = stringutil.forcebytestr(default)
desc += _(b" (default: %s)") % default
yield (b", ".join(allopts), desc)
......
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