Created
February 29, 2024 17:33
-
-
Save gustavocoleta/7735f4b499b0057d5a7e1804c1422120 to your computer and use it in GitHub Desktop.
prepare-commit-msg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Include any branches for which you wish to disable this script | |
BRANCHES_TO_SKIP=(main) | |
# Get the current branch name and check if it is excluded | |
BRANCH_NAME=$(git symbolic-ref --short HEAD) | |
BRANCH_EXCLUDED=$(printf "%s\n" "${BRANCHES_TO_SKIP[@]}" | grep -c "^$BRANCH_NAME$") | |
# Trim it down to get the parts we're interested in with a comment # at line start | |
TRIMMED=$(echo \# $BRANCH_NAME | sed -e 's:^\([^-]*-[^-]*\)-.*:\1:' -e \ | |
'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/') | |
# If it isn't excluded, preprend the trimmed branch identifier to the given message | |
if [ -n "$BRANCH_NAME" ] && ! [[ $BRANCH_EXCLUDED -eq 1 ]]; then | |
# '-m' arg is passed, the message is cleaned to use informed message only | |
if [[ $2 == *"m"* ]]; then | |
TRIMMED='' | |
fi | |
sed -i.bak -e "1s/^/$TRIMMED /" $1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment