aboutsummaryrefslogtreecommitdiffstats
path: root/dev-docs
diff options
context:
space:
mode:
authorBernd Schubert <bernd@bsbernd.com>2025-01-02 21:10:11 +0100
committerBernd Schubert <bernd@bsbernd.com>2025-02-10 16:56:45 +0100
commitf5ede51158639b0bcdacd1c934c958b8c5ada3ef (patch)
tree59b8268fb37a14d4cdcd135de6f43051b742793b /dev-docs
parent8be3247b9db976170ec977a8cbc4c2deed3edf5a (diff)
downloadlibfuse-f5ede51158639b0bcdacd1c934c958b8c5ada3ef.tar.gz
Update AUTHORS for 3.17 and add script for that
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
Diffstat (limited to 'dev-docs')
-rwxr-xr-xdev-docs/extend-authors.sh35
-rw-r--r--dev-docs/release-process.md2
2 files changed, 36 insertions, 1 deletions
diff --git a/dev-docs/extend-authors.sh b/dev-docs/extend-authors.sh
new file mode 100755
index 0000000..30e7dff
--- /dev/null
+++ b/dev-docs/extend-authors.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# Check if a starting tag is provided
+if [ $# -eq 0 ]; then
+ echo "Usage: $0 <starting_tag>"
+ echo "Example: $0 fuse-3.16.2"
+ exit 1
+fi
+
+START_TAG=$1
+
+# Extract email addresses from git log
+git_emails=$(git log ${START_TAG}..HEAD --format='<%aE>' | sort -u | sed 's/^<//;s/>$//')
+
+# Extract email addresses from AUTHORS file
+authors_emails=$(grep -oP '(?<=<)[^>]+' AUTHORS | sort -u)
+
+# Find new email addresses (in git_emails but not in authors_emails)
+# -1 suppresses lines unique to AUTHORS, -3 suppresses lines common to both
+# Result: only lines unique to git_emails (i.e., new authors)
+new_emails=$(comm -1 -3 <(echo "$authors_emails") <(echo "$git_emails"))
+
+# If there are new email addresses, add corresponding authors to the AUTHORS file
+if [ -n "$new_emails" ]; then
+ echo -e "\nNew authors to be added:"
+ echo -e "\n# New authors since ${START_TAG}" >> AUTHORS
+ for email in $new_emails; do
+ author=$(git log -1 --format='%aN <%aE>' --author="$email")
+ echo "$author"
+ echo "$author" >> AUTHORS
+ done
+ echo "AUTHORS file has been updated."
+else
+ echo "No new authors found since ${START_TAG}."
+fi
diff --git a/dev-docs/release-process.md b/dev-docs/release-process.md
index c466d94..fe4c225 100644
--- a/dev-docs/release-process.md
+++ b/dev-docs/release-process.md
@@ -10,7 +10,7 @@ Release Process
* Create signing key for the next release: `P=fuse-<A.B+1> signify-openbsd -G -n -p signify/$P.pub -s
signify/$P.sec; git add signify/$P.pub`
* Expire old release signing keys (keep one around just in case)
-* Update authors: `git log --all --pretty="format:%an <%aE>" | sort -u >> AUTHORS`
+* To update authors run : dev-docs/extend-authors.sh
* `git commit --all -m "Released $TAG"`
* `git tag $TAG`
* Build tarball, `./make_release_tarball.sh`