Skip to content

Instantly share code, notes, and snippets.

@nuernbergerA
Last active March 30, 2019 07:27
Show Gist options
  • Save nuernbergerA/a2f46c13b34ec8036335c5134a78c752 to your computer and use it in GitHub Desktop.
Save nuernbergerA/a2f46c13b34ec8036335c5134a78c752 to your computer and use it in GitHub Desktop.
git hooks
#!/bin/bash
# Prepend git commit messages
#
# Given we have a branch called 'feature/PHP-1337-awsome-stuff'
# every commit message will automatically be prepend with '[PHP-1337] '
if [ -z "$BRANCHES_TO_SKIP" ]; then
BRANCHES_TO_SKIP=(master develop test)
fi
BRANCH_NAME=$(git symbolic-ref --short HEAD)
BRANCH_NAME="${BRANCH_NAME##*/}"
TICKET_NAME=$(echo ${BRANCH_NAME} | grep -oE '^[A-Z]*-[0-9]*')
BRANCH_EXCLUDED=$(printf "%s\n" "${BRANCHES_TO_SKIP[@]}" | grep -c "^$BRANCH_NAME$")
BRANCH_IN_COMMIT=$(grep -c "\[$BRANCH_NAME\]" $1)
if [ -n "$TICKET_NAME" ] && [ -n "$BRANCH_NAME" ] && ! [[ $BRANCH_EXCLUDED -eq 1 ]] && ! [[ $BRANCH_IN_COMMIT -ge 1 ]]; then
sed -i.bak -e "1s/^/[$TICKET_NAME] /" $1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment