#!/usr/bin/env bash # This hook checks if the commit message ends with an issue number, and if not, # tries to derive that number from the branch name branch=`git rev-parse --abbrev-ref HEAD` # This check doesn't need to run when commiting to develop/master [[ "$branch" =~ ^master|develop$ ]] && exit 0 issue_num=`echo "$branch" | grep -Po '^[0-9]+(?=-)'` # Check if issue number is already present if ! grep -q '([0-9]\+)$' "$1"; then # Error out if we can't derive issue number [[ -z "$issue_num" ]] && { >&2 echo "Couldn't derive issue number from branch. Please add one manually."; exit 1; } # Append issue number, and remove all comments echo "[#$issue_num]" "$(cat "$1")" > "$1" fi