summaryrefslogtreecommitdiff
path: root/extra/make-changelog.py
diff options
context:
space:
mode:
Diffstat (limited to 'extra/make-changelog.py')
-rwxr-xr-xextra/make-changelog.py34
1 files changed, 21 insertions, 13 deletions
diff --git a/extra/make-changelog.py b/extra/make-changelog.py
index bb589775..c66b7048 100755
--- a/extra/make-changelog.py
+++ b/extra/make-changelog.py
@@ -1,30 +1,38 @@
#!/usr/bin/python3
-# -*- encoding: utf-8 -*-
+import sys
from collections import defaultdict
from email.utils import formatdate
-import sys
from textwrap import wrap
+from typing import Dict, List
import git
-repo = git.Repo('.')
-changelog = defaultdict(list)
+repo = git.Repo(".")
+changelog = defaultdict(list) # type: Dict[str, List[str]]
+
+if len(sys.argv) != 2:
+ print("Usage: %s SINCE-TAG" % __file__, file=sys.stderr)
+ sys.exit(2)
-for id in repo.iter_commits('%s..HEAD' % sys.argv[1]):
+for id in repo.iter_commits("%s..HEAD" % sys.argv[1]):
commit = repo.commit(id)
if not commit.summary.startswith("Merge pull request "):
changelog[commit.author.name].append(commit.summary)
-print('bash-completion (X.Y)')
-print('')
+print("bash-completion (X.Y)")
+print("")
for author in sorted(changelog.keys()):
- print(' [ %s ]' % author)
+ print(" [ %s ]" % author)
for log in changelog[author]:
- print('\n'.join(
- wrap(log, initial_indent=' * ', subsequent_indent=' ')))
- print('')
+ print(
+ "\n".join(
+ wrap(log, initial_indent=" * ", subsequent_indent=" ")
+ )
+ )
+ print("")
-print(' -- Ville Skyttä <ville.skytta@iki.fi> %s' %
- formatdate(localtime=True))
+print(
+ " -- Ville Skyttä <ville.skytta@iki.fi> %s" % formatdate(localtime=True)
+)