ghooks/pre-commit-staged-check.sh

23 lines
621 B
Bash
Executable File

#!/bin/sh
if test -n "$SKIP_GIT_HOOK_STAGED_CHECK"
then
exit
fi
case $GIT_INDEX_FILE in
*.lock)
if GIT_INDEX_FILE=${GIT_INDEX_FILE%.lock} git status --porcelain | grep '^M'
then
exec 1>&2 # Redirect output to stderr.
echo "Error: Found both staged and unstaged changes when trying to commit with 'git commit -a'."
echo "Do two seperate commits with, 'git commit -m ...' and 'git commit -a -m ...'"
echo "Or 'git reset .' and then 'git commit -a -m ...' for a single commit"
echo "Use SKIP_GIT_HOOK_STAGED_CHECK=Y or --no-verify to skip check"
exit 1
fi
;;
esac