COMMIT_MSG_FILE=$1 COMMIT_SOURCE=$2 SHA1=$3 # Gets the current branch name but if we're in a detached head state, return "HEAD" BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) # Regex to match the ICU-#### branch name pattern we use ISSUE_REGEX="^(ICU-[0-9]+)" # Don't run commitizen for merge or squash commits, as well as when rebasing if [ "${COMMIT_SOURCE}" = merge ] || [ "${COMMIT_SOURCE}" = squash ] || [ "${COMMIT_SOURCE}" = "message" -a "${BRANCH_NAME}" = "HEAD" ];then exit 0 fi # If the branch name matches, set the JIRA link automatically if [[ $BRANCH_NAME =~ $ISSUE_REGEX ]] then issue="${BASH_REMATCH[1]}" url="https://hashicorp.atlassian.net/browse/${issue}" exec < /dev/tty && npx git-cz --issues="$url" --hook || true else # This is to allow interaction with the terminal for commitizen exec < /dev/tty && npx git-cz --hook || true fi