Skip to content

Instantly share code, notes, and snippets.

@Fedalto
Created December 12, 2013 18:06
Show Gist options
  • Save Fedalto/7932531 to your computer and use it in GitHub Desktop.
Save Fedalto/7932531 to your computer and use it in GitHub Desktop.
Pre commit git hook. It checks and fails if finds a forbidden pattern like "pdb.set_trace". Will also fail if there's trailing spaces.
#!/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
FORBIDDEN_PATTERN='pdb.set_trace'
if ! git diff --cached -S "${FORBIDDEN_PATTERN}" --exit-code HEAD
then
echo ""
echo "Error: Found \"${FORBIDDEN_PATTERN}\" references."
echo "Please, remove them before commiting."
exit 1
fi
# If there are whitespace errors, print the offending file names and fail.
exec git diff-index --check --cached $against --
@Fedalto
Copy link
Author

Fedalto commented Dec 12, 2013

git commit option [-n | --no-verify] can be used to bypass this pre-commit hook

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment