git-contrib: use 'git shortlog' command

Also, this drops Weblate (again) and dependabot from the contributers list.

Moreover, this makes the contributers sorted by git command, rather
than sort command. Then, the authors are sorted by their first name, e.g.
- before
Xiaotian Wu, Yuri Chornoivan, Yu Watanabe, Zbigniew Jędrzejewski-Szmek,
- after
Xiaotian Wu, Yu Watanabe, Yuri Chornoivan, Zbigniew Jędrzejewski-Szmek,

Suggested-by: Matteo Croce <teknoraver@meta.com>
This commit is contained in:
Yu Watanabe 2024-04-03 01:41:07 +09:00
parent ffeb6a2e3b
commit dcc6256593

View File

@ -3,13 +3,7 @@
set -eu
tag="$(git describe --abbrev=0 --match 'v[0-9][0-9][0-9]')"
(
# authors
git log --pretty=tformat:%aN -s "${tag}.."
# Co-authors (drop empty line and mail addresses)
git log --pretty='tformat:%(trailers:key=Co-authored-by,valueonly)' -s "${tag}.." | sed -e '/^[[:space:]]*$/ d' | sed -e 's/ <.*@.*>$//'
) |
grep -v noreply@weblate.org |
sed 's/ / /g; s/--/-/g; s/.*/\0,/' |
sort -u | tr '\n' ' ' | sed -e "s/^/Contributions from: /g" -e "s/,\s*$/\n/g" | fold -w 72 -s |
git shortlog -s --group=author --group=trailer:Co-authored-by "${tag}.." |
sed -e 's/^[[:space:]]*[0-9]*[[:space:]]*//; /Weblate/ d; /dependabot\[bot\]/ d; s/ / /g; s/--/-/g; s/.*/\0,/' |
tr '\n' ' ' | sed -e "s/^/Contributions from: /g" -e "s/,\s*$/\n/g" | fold -w 72 -s |
sed -e "s/^/ /g" -e "s/\s*$//g"