diff --git a/check_branch_name.sh b/check_branch_name.sh index d1905dab..0c8393f8 100755 --- a/check_branch_name.sh +++ b/check_branch_name.sh @@ -1,8 +1,13 @@ #!/usr/bin/env bash +basic="(master|develop|main)" +lints="((build|ci|chore|docs|feat|(hot)?fix|perf|refactor|revert|style|test)/.+)" +other="((release/v[0-9]+\.[0-9]+\.[0-9]+(-[a-z0-9.]+(\+[a-z0-9.]+)?)?)|revert-[a-z0-9]+)" +pattern="^(${basic}|${lints}|${other})$" + current=$(git status | head -n1 | sed 's/On branch //') name=${1:-$current} -if [[ ! $name =~ ^(((opt(imize)?|feat(ure)?|doc|(bug|hot)?fix|test|refact(or)?|ci)/.+)|(main|develop)|(release/.+)|(release-v[0-9]+\.[0-9]+)|(release/v[0-9]+\.[0-9]+\.[0-9]+(-[a-z0-9.]+(\+[a-z0-9.]+)?)?)|revert-[a-z0-9]+)$ ]]; then +if [[ ! $name =~ $pattern ]]; then echo "branch name '$name' is invalid" exit 1 else