Skip to content

Instantly share code, notes, and snippets.

@tekerson
Created August 7, 2015 02:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tekerson/d2e27d2d5712e8e805ee to your computer and use it in GitHub Desktop.
Save tekerson/d2e27d2d5712e8e805ee to your computer and use it in GitHub Desktop.
Some pre-commit hooks that check for things that I shouldn't be committing
#!/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
# Redirect output to stderr.
exec 1>&2
if test $(git diff --cached --diff-filter=AM -z $against | grep '^+' | grep -c 'FIXME') != 0
then
echo '\033[0;31mError:\033[0m #FIXME comment added'
git diff --name-only --cached --diff-filter=AM -z $against | xargs grep -l 'FIXME'
exit 1
fi
if test $(git diff --cached --diff-filter=AM -z $against | grep '^+' | grep -cE '\b(iif|ddescribe)\b') != 0
then
echo '\033[0;31mError:\033[0m test focus found'
git diff --name-only --cached --diff-filter=AM -z $against | xargs grep -lE '\b(iif|ddescribe)\b'
exit 1
fi
if test $(git diff --cached --diff-filter=AM -z $against | grep '^+' | grep -cE '\bconsole\.log\b') != 0
then
echo '\033[0;31mError:\033[0m console.log found'
git diff --name-only --cached --diff-filter=AM -z $against | xargs grep -lE '\bconsole\.log\b'
exit 1
fi
# If there are whitespace errors, print the offending file names and fail.
exec git diff-index --check --cached $against --
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment