4 progdir=$(\cd $(dirname $0) >/dev/null && pwd)
8 echo "$program fatal error: $*"
12 TEMPFILE=$(mktemp ${TMPDIR:-.}/commit-XXXXXX)
13 test -f "$TEMPFILE" || die "mktemp fails"
14 trap "rm -f $TEMPFILE COMMIT*" EXIT
16 test $# -eq 0 && set -- ${progdir}/commit.*
19 readonly report_fmt='%-20s %s\n'
22 ( *.orig | *.rej ) continue ;;
26 results=$(exec 2>&1 ${SHELL:-sh} $progdir/commit-msg $TEMPFILE)
27 case $'\n'"$results" in
28 ( *$'\nerror:'* ) OK=0 ;;
33 case $OK${f#*commit.} in
34 1ok*) printf "$report_fmt" $f: "PASS (was allowed)" ;;
35 0ok*) printf "$report_fmt" $f: "FAIL (not allowed)"; FAIL="$FAIL $f";;
36 0*) printf "$report_fmt" $f: "PASS (found error)" ;;
37 *) printf "$report_fmt" $f: "FAIL (no error)" ; FAIL="$FAIL $f";;
41 if [ -n "$FAIL" ]; then
42 echo -e "\nerror: commit-msg test(s) failed!" 1>&2
46 rm -f $TEMPFILE $TEMPFILE.*