40 lines
608 B
Bash
Executable File
40 lines
608 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# Install this into .git/hooks/pre-commit
|
|
|
|
echo "running commit checks"
|
|
|
|
(
|
|
tmpfile=$(mktemp -t gitXXXXXX)
|
|
trap "rm -f $tmpfile" EXIT
|
|
|
|
for x in ci-scripts/pre-commit.d/*; do
|
|
[ -x "$x" ] || continue
|
|
|
|
tput setaf 3
|
|
printf "%-50s" $x
|
|
tput sgr0
|
|
|
|
if $x > $tmpfile 2>&1 ; then
|
|
tput setaf 2
|
|
printf "[OK]\n"
|
|
tput sgr0
|
|
else
|
|
tput setaf 1
|
|
printf "[OK]\n"
|
|
tput sgr0
|
|
cat $tmpfile >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
)
|
|
|
|
if [ $? -ne 0 ]; then
|
|
tput setaf 1
|
|
echo "*** COMMIT CHECK FAILED ***" >&2
|
|
tput sgr0
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|