mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-13 20:00:01 -04:00
Sort changelog & relnotes entries by issue number
To reduce the friction when handling the release notes, it is preferable
to have the sections sorted by issue number, rather than merge order.
Fallback to commit subject line if unavailable (e.g. for changelog
entries).
(cherry picked from commit 759948fffe)
This commit is contained in:
parent
7660611578
commit
f3367b0a83
1 changed files with 19 additions and 2 deletions
|
|
@ -1802,6 +1802,13 @@ def versions_data_iter(
|
|||
):
|
||||
continue
|
||||
|
||||
body = body_process(commit.body)
|
||||
|
||||
## Extract gitlab issue number
|
||||
issue = None
|
||||
if match := re.search(r".*:gl:`#([0-9]+)`", body):
|
||||
issue = int(match.group(1))
|
||||
|
||||
matched_section = first_matching(section_regexps, commit.subject)
|
||||
|
||||
## Finally storing the commit in the matching section
|
||||
|
|
@ -1811,11 +1818,21 @@ def versions_data_iter(
|
|||
"author": commit.author_name,
|
||||
"authors": commit.author_names,
|
||||
"subject": subject_process(commit.subject),
|
||||
"body": body_process(commit.body),
|
||||
"body": body,
|
||||
"commit": commit,
|
||||
"issue": issue,
|
||||
}
|
||||
)
|
||||
|
||||
## Sort sections by issue number or title
|
||||
for section_key in sections.keys():
|
||||
sections[section_key].sort(
|
||||
key=lambda c: (
|
||||
c["issue"] if c["issue"] is not None else sys.maxsize,
|
||||
c["subject"],
|
||||
)
|
||||
)
|
||||
|
||||
## Flush current version
|
||||
current_version["sections"] = [
|
||||
{"label": k, "commits": sections[k]} for k in section_order if k in sections
|
||||
|
|
@ -1830,7 +1847,7 @@ def changelog(
|
|||
unreleased_version_label="unreleased",
|
||||
include_commit_sha=False,
|
||||
warn=warn, ## Mostly used for test
|
||||
**kwargs
|
||||
**kwargs,
|
||||
):
|
||||
"""Returns a string containing the changelog of given repository
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue