What's cooking (2021/06 #06)
[git] / SR
1 #!/bin/sh
2
3 short=
4 case "$1" in --short|-s) short=t; shift ;; esac
5
6 parse_version='
7         s/^\(v[.0-9]*\)\(-\([1-9][0-9]*\)-g\([0-9a-f][0-9a-f]*\)\)*$/v=\1 n=\3 r=\4/
8 '
9
10 git for-each-ref --format='%(refname)' refs/heads/maint\* |
11 sed -e 's|^refs/heads/||' -e '/^maint[^-]/d' |
12 while read track
13 do
14         case "$short" in
15         t)
16                 echo "$track    $(git describe "refs/heads/$track")"
17                 ;;
18         *)
19                 v= n= r=
20                 eval $(git describe "refs/heads/$track" | sed -e "$parse_version")
21
22                 echo "* $v..$track"
23                 case "$n" in
24                 "")
25                         ;;
26                 *)
27                         git --no-pager shortlog --no-merges "$v..$track"
28                         ;;
29                 esac
30         esac
31 done