| #!/bin/sh | |
| # Feed whats-cooking or revision range to find who are involved | |
| usage () { | |
| echo >&2 "usage: $0 <whats-cooking.txt" | |
| echo >&2 " or: $0 whats-cooking.txt" | |
| echo >&2 " or: $0 master..seen" | |
| exit 1 | |
| } | |
| mode= | |
| if test $# = 0 | |
| then | |
| mode=stdin | |
| elif test -r "$1" | |
| then | |
| mode=file | |
| else | |
| mode=revs | |
| fi | |
| if test "$mode" = revs | |
| then | |
| git shortlog -e -s --no-merges ^master "$@" | |
| else | |
| if test "$mode" = stdin | |
| then | |
| echo >&2 "reading what's cooking report from stdin..." | |
| cat | |
| else | |
| cat "$1" | |
| fi | | |
| sed -ne 's|\(.* \)*\* \([a-z][a-z]/[^ ]*\) ([-0-9]*) [0-9]* commit.*|\2|p' | | |
| xargs git shortlog -e -s --no-merges ^master | |
| fi | | |
| sed -e 's/^[ 0-9]*[ ]*//' -e 's/$/,/' | | |
| sort -u | | |
| sed -e '$s/,$//' -e 's/^\([^<]*\.[^<]*[^ ]\) </"\1" </' -e 's/^/ /' |