MPS-IAC/Hooks/pre-commit.j2.bash

21 lines
524 B
Bash

#!/usr/bin/env bash
shopt -s nullglob
declare -a FILES
declare -a HIT
echo "Git hook executing: pre-commit..."
FILES=($(git diff --cached --name-only --diff-filter=ACM))
n=0
for i in "${FILES[@]}"; do
WARN=$(file --mime "${i}" | grep -i binary)
NAME=$(file "${i}" | cut -d":" -f1)
if [ -n "${WARN}" ]; then
HIT[$n]="${NAME}"
WARN=""
echo "${NAME} appears to be a binary blob."
exit 1
fi
let "n++"
done
if [ ${#HIT[@]} -gt 0 ]; then
echo "WARNING: Binary data found"
fi