#!/bin/sh # Feed whats-cooking or revision range to find who are involved usage () { echo >&2 "usage: $0 &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/^\([^<]*\.[^<]*[^ ]\)