Skip to content

Instantly share code, notes, and snippets.

@Stubbs Stubbs/prepare-commit-msg
Last active Mar 16, 2017

Embed
What would you like to do?
#!/bin/sh
# Download to your project's .git/hooks/prepare-commit-msg and make it executable.
if [ -z "$BRANCHES_TO_SKIP" ]; then
BRANCHES_TO_SKIP=(master)
fi
BRANCH_NAME=$(git symbolic-ref --short HEAD)
BRANCH_NAME="${BRANCH_NAME##*/}"
[[ $BRANCH_NAME =~ ^([^-]+-[^-]+) ]] && JIRA_TICKET="${BASH_REMATCH[0]}"
BRANCH_EXCLUDED=$(printf "%s\n" "${BRANCHES_TO_SKIP[@]}" | grep -c "^$BRANCH_NAME$")
BRANCH_IN_COMMIT=$(grep -c "\[$BRANCH_NAME\]" $1)
# Check for any bad words about to be committed.
for file in `git diff --name-only --cached`; do
if [ "${file##.}" = "js" ]; then
GREP_OUTPUT = `grep -il “debugger;$file;`
if [ “$GREP_OUTPUT!= “” ]; then
echo " 💩 debugger; found in "$file
exit 1;
fi
fi
done
if [ -n "$BRANCH_NAME" ] && ! [[ $BRANCH_EXCLUDED -eq 1 ]] && ! [[ $BRANCH_IN_COMMIT -ge 1 ]]; then
sed -i.bak -e "1s/^/[refs $JIRA_TICKET] /" $1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.