summaryrefslogtreecommitdiffstats
path: root/extra/make-changelog.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:14:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:14:42 +0000
commit0bc58b66a4850cdb8458a86c3d9a2fc81de82aa3 (patch)
treeea0fe36eb5e6f40e0a1f765d44c4b0c0b2bfb089 /extra/make-changelog.py
parentInitial commit. (diff)
downloadbash-completion-upstream.tar.xz
bash-completion-upstream.zip
Adding upstream version 1:2.11.upstream/1%2.11upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'extra/make-changelog.py')
-rwxr-xr-xextra/make-changelog.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/extra/make-changelog.py b/extra/make-changelog.py
new file mode 100755
index 0000000..c66b704
--- /dev/null
+++ b/extra/make-changelog.py
@@ -0,0 +1,38 @@
+#!/usr/bin/python3
+
+import sys
+from collections import defaultdict
+from email.utils import formatdate
+from textwrap import wrap
+from typing import Dict, List
+
+import git
+
+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]):
+ 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("")
+
+for author in sorted(changelog.keys()):
+ print(" [ %s ]" % author)
+ for log in changelog[author]:
+ print(
+ "\n".join(
+ wrap(log, initial_indent=" * ", subsequent_indent=" ")
+ )
+ )
+ print("")
+
+print(
+ " -- Ville Skyttä <ville.skytta@iki.fi> %s" % formatdate(localtime=True)
+)