39 lines
750 B
Bash
Executable File
39 lines
750 B
Bash
Executable File
#!/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/^/ /'
|