Created
September 8, 2012 17:06
-
-
Save padcom/3677248 to your computer and use it in GitHub Desktop.
Git update hook forcing the existence of Jira ticket id at the beginning of the subject (first line in commit message)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
refname="$1" | |
oldrev="$2" | |
newrev="$3" | |
result=0 | |
# Make sure we handle the situation when the branch does not exist yet | |
if ! [ $oldrev = 0000000000000000000000000000000000000000 ] ; then | |
excludes=( ^$oldrev ) | |
else | |
excludes=( $(git for-each-ref --format '^%(refname:short)' refs/heads/) ) | |
fi | |
# Get the list of incomming commits | |
commits=`git rev-list $newrev "${excludes[@]}"` | |
# For every commit in the list | |
for commit in $commits | |
do | |
# check the log message for ticket number | |
message=`git log --format=%s -1 $commit` | |
ticket=`echo "$message" | grep -o "^[A-Z]\{2,3\}-[0-9]\+"` | |
if [ "$ticket" = "" ] ; then | |
echo "Commit $commit does not start with a ticket number" | |
result=1 | |
fi | |
done | |
exit $result |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment