3 if [ "$#" -lt 1 ]; then
4 printf "Usage: %s <commit range>\n", "$0" 1>&2
8 commits=$(git rev-list --no-merges "$@")
9 if [ -z "$commits" ]; then
15 ae=$(git log -1 --format='%ae' "$c")
16 aE=$(git log -1 --format='%aE' "$c")
17 an=$(git log -1 --format='%an' "$c")
18 aN=$(git log -1 --format='%aN' "$c")
19 ce=$(git log -1 --format='%ce' "$c")
20 cE=$(git log -1 --format='%cE' "$c")
21 cn=$(git log -1 --format='%cn' "$c")
22 cN=$(git log -1 --format='%cN' "$c")
23 sob=$(git log -1 --format='%b' "$c" | grep -i '^[[:space:]]*Signed-off-by:')
27 grep -i -q "<$ae>" <<<"$sob" ||
28 grep -i -q "<$aE>" <<<"$sob" ||
29 grep -i -q ":[[:space:]]*$an[[:space:]]*<" <<<"$sob" ||
30 grep -i -q ":[[:space:]]*$aN[[:space:]]*<" <<<"$sob" ||
32 grep -i -q "<$ce>" <<<"$sob" ||
33 grep -i -q "<$cE>" <<<"$sob" ||
34 grep -i -q ":[[:space:]]*$cn[[:space:]]*<" <<<"$sob" ||
35 grep -i -q ":[[:space:]]*$cN[[:space:]]*<" <<<"$sob" ||
38 if "$am" || "$cm"; then
39 git log -1 --pretty='format: %h ("%s")' "$c"
40 "$am" && printf "\tauthor SOB missing\n"
41 "$cm" && printf "\tcommitter SOB missing\n"
42 printf "%s %s\n%s\n" "$ae" "$ce" "$sob"