diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-11-13 12:34:07 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-11-14 13:33:41 +0100 |
commit | 154f823430720363412a47cb223359a3d433aca8 (patch) | |
tree | 0136ae3c0e145b51557689ec07bd36f0d78a5c22 /tools | |
parent | 03e233550f2c49797c69080d4923e46f2d82d98c (diff) |
create_changelog.py: Fix checks for task numbers
The script was failing on commit messages like
"Fixes https://github.com/spyder-ide/qtpy/issues/195".
Use a regexp to get the number and insert into the dict
for convenient sorting.
Change-Id: I16499a083d31b85f11d2e7325c7c2c9c6e4332a5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/create_changelog.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/tools/create_changelog.py b/tools/create_changelog.py index d9ab24731..d28af1a7f 100644 --- a/tools/create_changelog.py +++ b/tools/create_changelog.py @@ -149,6 +149,7 @@ def git_command(versions: List[str], pattern: str): command += " {}..{}".format(versions[0], versions[1]) command += " | git cat-file --batch" command += " | grep -o -E \"^[0-9a-f]{40}\"" + task_number_re = re.compile(r'^.*-(\d+)\s*$') print("{}: {}".format(git_command.__name__, command), file=sys.stderr) out_sha1, err = Popen(command, stdout=PIPE, shell=True).communicate() if err: @@ -168,20 +169,25 @@ def git_command(versions: List[str], pattern: str): if not task: continue + task_number = -1 + task_number_match = task_number_re.match(task) + if task_number_match: + task_number = int(task_number_match.group(1)) + entry = {"title": title, "task": task, "task-number": task_number} if "shiboken" in title: if sha not in shiboken2_commits: - shiboken2_commits[sha] = {"title": title, "task": task} + shiboken2_commits[sha] = entry else: if sha not in pyside2_commits: - pyside2_commits[sha] = {"title": title, "task": task} + pyside2_commits[sha] = entry def create_fixes_log(versions: List[str]) -> None: - git_command(versions, "Fixes") + git_command(versions, "Fixes: ") def create_task_log(versions: List[str]) -> None: - git_command(versions, "Task-number") + git_command(versions, "Task-number: ") def gen_list(d: Dict[str, Dict[str, str]]) -> str: @@ -192,9 +198,7 @@ def gen_list(d: Dict[str, Dict[str, str]]) -> str: def sort_dict(d: Dict[str, Dict[str, str]]) -> Dict[str, Dict[str, str]]: - return dict(sorted(d.items(), - key=lambda kv: "{:5d}".format( - int(kv[1]['task'].replace("PYSIDE-", ""))))) + return dict(sorted(d.items(), key=lambda kv: kv[1]['task-number'])) if __name__ == "__main__": |