ghooks/pre-commit-staged-check.sh

23 lines
621 B
Bash
Raw Normal View History

#!/bin/sh
2024-02-19 11:25:04 -05:00
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
2024-02-19 15:31:17 -05:00
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"
2024-02-19 11:30:55 -05:00
echo "Use SKIP_GIT_HOOK_STAGED_CHECK=Y or --no-verify to skip check"
exit 1
fi
;;
esac