| #!/bin/sh |
| |
| short= |
| case "$1" in --short|-s) short=t; shift ;; esac |
| |
| parse_version=' |
| s/^\(v[.0-9]*\)\(-\([1-9][0-9]*\)-g\([0-9a-f][0-9a-f]*\)\)*$/v=\1 n=\3 r=\4/ |
| ' |
| |
| git for-each-ref --format='%(refname)' refs/heads/maint\* | |
| sed -e 's|^refs/heads/||' -e '/^maint[^-]/d' | |
| while read track |
| do |
| case "$short" in |
| t) |
| echo "$track $(git describe "refs/heads/$track")" |
| ;; |
| *) |
| v= n= r= |
| eval $(git describe "refs/heads/$track" | sed -e "$parse_version") |
| |
| echo "* $v..$track" |
| case "$n" in |
| "") |
| ;; |
| *) |
| git --no-pager shortlog --no-merges "$v..$track" |
| ;; |
| esac |
| esac |
| done |