Skip to content

Instantly share code, notes, and snippets.

@LFabien
Last active December 16, 2015 09:59
Show Gist options
  • Save LFabien/5416639 to your computer and use it in GitHub Desktop.
Save LFabien/5416639 to your computer and use it in GitHub Desktop.
Git pre-commit hook

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment