Git pre-commit hook
- Remove whitespaces
- Find files containing FOCUS()
Copy this file in .git/hooks and make it executable
- chmod +x .git/hooks/pre-commit
#!/bin/sh | |
if git rev-parse --verify HEAD >/dev/null 2>&1 | |
then | |
against=HEAD | |
else | |
# Initial commit: diff against an empty tree object | |
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 | |
fi | |
# Find files with trailing whitespace | |
# You need to make the file executable | |
# chmod +x .git/hooks/pre-commit | |
( | |
IFS=' | |
' | |
FILES=`exec git diff-index --check --cached $against -- | sed '/^[+-]/d' | sed -E 's/:[0-9]+:.*//' | uniq` | |
for FILE in $FILES ; do | |
echo Removing trailing whitespace in "$FILE" | |
sed -i '' -E 's/[[:space:]]*$//' "$FILE" | |
git add "$FILE" | |
done | |
) | |
# Check if the file contains 'FOCUS()' | |
for FILE in `git diff-index --name-status $against -- | cut -c3-` ; do | |
echo $FILE | |
if [ "grep 'FOCUS()' $FILE" ] | |
then | |
echo $FILE ' contains debugger!' | |
exit 1 | |
fi | |
done | |
exit |