gitchangelog: don't break lines on hyphens in relnotes

When release notes are generated, the text is wrapped and line breaks
are inserted into each paragraph (sourced from the commit message's
body). Prevent line breaks after hyphens, as these are often used for
option names. This makes it possible to easily find the options
afterwards.

(cherry picked from commit 9b0d0c0173)
This commit is contained in:
Nicki Křížek
2024-12-02 13:56:05 +00:00
committed by Petr Špaček
parent 9712d00cb0
commit 949110287d
+8 -2
View File
@@ -561,7 +561,8 @@ def paragraph_wrap(text, regexp="\n\n", separator="\n"):
"""
regexp = re.compile(regexp, re.MULTILINE)
return separator.join(
"\n".join(textwrap.wrap(paragraph.strip())) for paragraph in regexp.split(text)
"\n".join(textwrap.wrap(paragraph.strip(), break_on_hyphens=False))
for paragraph in regexp.split(text)
).strip()
@@ -1514,7 +1515,12 @@ def rest_py(data, opts={}):
if opts["include_commit_sha"]:
subject += " ``%s``" % commit["commit"].sha1_short
entry = indent("\n".join(textwrap.wrap(subject)), first="- ").strip() + "\n"
entry = (
indent(
"\n".join(textwrap.wrap(subject, break_on_hyphens=False)), first="- "
).strip()
+ "\n"
)
if commit["body"]:
entry += "\n" + indent(commit["body"])