podmanrunner/git-hooks/pre-push

20 lines
647 B
Bash

#!/bin/bash
cur_branch=$(git branch --show-current)
new_tagname=$(git tag --contains="$(git rev-parse HEAD)")
# It is ok if the new tagname is empty, it means that this is an untagged commit and we just move on
if [[ -z ${new_tagname} ]]; then
exit 0
fi
# It is also ok if the new tagname matches the name of the branch
if [[ ${new_tagname} =~ ${cur_branch} ]]; then
exit 0
fi
# All other cases means that the new tagname is set, but does not match the name of the branch so we reject it
echo "Your tag: ${new_tagname} does not match the name of the branch: ${cur_branch}."
echo "To push anyway run again with the --no-verify option"
exit 1