diff --git a/script/githooks/pre-commit.sh b/script/githooks/pre-commit.sh new file mode 100644 index 000000000..a0c60d14a --- /dev/null +++ b/script/githooks/pre-commit.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +LC_ALL=C + +local_branch="$(git rev-parse --abbrev-ref HEAD)" + +valid_branch_regex="^(master|develop)$|(feature|release|hotfix)\/[a-z0-9._-]+$|^HEAD$" + +message="There is something wrong with your branch name. Branch names in this project must adhere to this contract: $valid_branch_regex. +Your commit will be rejected. You should rename your branch to a valid name and try again." + +if [[ ! $local_branch =~ $valid_branch_regex ]] +then + echo "$message" + exit 1 +fi + +exit 0 diff --git a/script/make-rules/common.mk b/script/make-rules/common.mk index c064c0374..1c0a28f15 100644 --- a/script/make-rules/common.mk +++ b/script/make-rules/common.mk @@ -120,7 +120,7 @@ MAKEFLAGS += --no-print-directory endif # Copy githook scripts when execute makefile -COPY_GITHOOK:=$(shell cp -f githooks/* .git/hooks/) +COPY_GITHOOK:=$(shell cp -f script/githooks/* .git/hooks/) # COMMA: Concatenate multiple strings to form a list of strings COMMA := ,