Add git templates with preconfigured hooks

So far, add a single pre-commit hook which loops through the dotfiles
for *.pre-commit files and executes them
This commit is contained in:
Nick Nisi
2013-07-23 08:54:50 -05:00
parent 0f7a105e97
commit 4354fcc0e8
4 changed files with 82 additions and 0 deletions

26
git/hooks/banned.pre-commit Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/zsh
# Banned Words
# If the file(s) being commited contain any of the below banned words
# then fail the commit
COLOR_RED="\x1B[31m"
COLOR_GREEN="\x1B[32m"
COLOR_NONE="\x1B[0m"
LIST="debugger\|console\|TODO\|FIXME\|BANNED"
if `git rev-parse --verify HEAD >/dev/null 2>&1`; then
against=HEAD
else
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
for FILE in `git diff-index --name-status --cached $against -- | cut -c3-` ; do
# check if the fil contains one fo the words in the list
if grep -w $LIST $FILE; then
echo ""
echo "${COLOR_RED}✘ ${FILE} contains a banned word.${COLOR_NONE}"
exit 1
fi
done
echo "${COLOR_GREEN}✔ No banned words detected${COLOR_NONE}"