contrib: add git-stats.sh
git shortlog -sn is nice but it does not display the number of changed files and the amount of changed lines. $ git shortlog -sn 0.12.0.. 46 Tim Culverhouse 28 Robin Jarry 14 Koni Marti 9 Moritz Poldrack 2 Ben Cohen 2 Bence Ferdinandy 2 Julian Pidancet 2 inwit 1 Jason Cox 1 Jason Stewart 1 John Gebbie 1 Tobias Wölfel 1 kt programs Add a simple bash script that adds extra information: $ ./contrib/git-stats.sh 0.12.0.. Author Commits Changed Files Insertions Deletions Tim Culverhouse 46 134 +973 -1090 Robin Jarry 28 70 +671 -358 Koni Marti 14 47 +437 -205 Moritz Poldrack 9 18 +178 -44 Ben Cohen 2 2 +16 -2 Bence Ferdinandy 2 6 +104 +0 Julian Pidancet 2 9 +149 -2 inwit 2 3 +11 -1 Jason Cox 1 7 +106 -6 Jason Stewart 1 1 +4 -2 John Gebbie 1 3 +118 -1 Tobias Wölfel 1 3 +3 -3 kt programs 1 3 +37 -6 Use the script to generate the release tag and email. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-on-irc-by: Tim Culverhouse <tim@timculverhouse.com>
This commit is contained in:
parent
41c14b206c
commit
df1a0fff33
2 changed files with 25 additions and 2 deletions
23
contrib/git-stats.sh
Executable file
23
contrib/git-stats.sh
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
columns="Author,Commits,Changed Files,Insertions,Deletions"
|
||||
|
||||
git shortlog -sn "$@" |
|
||||
while read -r commits author; do
|
||||
git log --author="$author" --pretty=tformat: --numstat "$@" | {
|
||||
adds=0
|
||||
subs=0
|
||||
files=0
|
||||
while read -r a s f; do
|
||||
adds=$((adds + a))
|
||||
subs=$((subs + s))
|
||||
files=$((files + 1))
|
||||
done
|
||||
printf '%s;%d;%d;%+d;%+d;\n' \
|
||||
"$author" "$commits" "$files" "$adds" "-$subs"
|
||||
}
|
||||
done |
|
||||
column -t -s ';' -N "$columns" -R "${columns#*,}"
|
|
@ -24,8 +24,8 @@ git -c core.commentchar='%' tag --edit --sign \
|
|||
-m "Release $next_tag highlights:" \
|
||||
-m "$changes" \
|
||||
-m "Thanks to all contributors!" \
|
||||
-m "~\$ git shortlog -sn $prev_tag..$next_tag
|
||||
$(git shortlog -sn $prev_tag..)" \
|
||||
-m "~\$ contrib/git-stats.sh $prev_tag..$next_tag
|
||||
$(contrib/git-stats.sh $prev_tag..)" \
|
||||
"$next_tag"
|
||||
|
||||
echo "======= Pushing to remote..."
|
||||
|
|
Loading…
Reference in a new issue