123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #!/usr/bin/env bash
- set -e -u
- me=${0##*/}
- msg_file=$me.git-msg
- fatal () { echo "$me: $*" >&2; exit 1; }
- case $# in
- 0) input=$(cat);;
- 1) input=$(cat -- "$1");;
- *) fatal "too many arguments";;
- esac
- AWK=${AWK-awk}
- SED=${SED-sed}
- [[ -f bin/automake.in && -d lib/Automake ]] \
- || fatal "can only be run from the top-level of the Automake source tree"
- $SED --version 2>&1 | grep GNU >/dev/null 2>&1 \
- || fatal "GNU sed is required by this script"
- input=$(
- $AWK -v me="$me" '
- /^#/ { next; }
- (NF == 0) { next; }
- (NF != 2) { print me ": wrong number of fields at line " NR;
- exit(1); }
- { printf ("t/%s t/%s\n", $1, $2); }
- ' <<<"$input"
- ) || exit $?
- exec 5>"$msg_file"
- echo "tests: more significant names for some tests" >&5
- echo >&5
- $AWK >&5 <<<"$input" \
- '{ printf ("* %s: Rename...\n* %s: ... like this.\n", $1, $2) }'
- exec 5>&-
- eval "$($AWK '{ printf ("git mv %s %s\n", $1, $2) }' <<<"$input")"
- if test -f t/list-of-tests.mk; then
- $SED -e "$($AWK '{ printf ("s|^%s |%s |\n", $1, $2) }' <<<"$input")" \
- -i t/list-of-tests.mk
- git add t/list-of-tests.mk
- fi
- git status
- echo
- echo "NOTICE: pre-filled commit message is in file '$msg_file'"
- exit 0
|