You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Troubleshoot
I have created an sh hook that runs correctly in the terminal creating temp files and executing it as a bash, but when I try to put the file into husky I get the following error when I try to commit:
→ No staged files match any configured task.
husky - prepare-commit-msg script failed (code 1)
The contents of the prepare-commit-msg hook are as follows:
#!/bin/sh
COMMIT_TYPE_LITERALS='feat|fix|docs|style|refactor|test|chore|perf|test|build|ci|chore|revert'
BRANCH_NAME=$(git symbolic-ref --short HEAD)
TICKET_ID=$(echo $BRANCH_NAME | grep -Eo 'CU-.{9}')
COMMIT_TYPE=$(echo $BRANCH_NAME | grep -Eo "^(${COMMIT_TYPE_LITERALS})")
COMMIT_MESSAGE=$(cat $1)
COMMIT_TYPE_PRESENT_IN_MESSAGE=$(echo $COMMIT_MESSAGE | grep -Eo "^(${COMMIT_TYPE_LITERALS}):")
if [ $COMMIT_TYPE_PRESENT_IN_MESSAGE ];
then
echo "HOLA"
CLEAN_COMMIT_MESSAGE=$(echo $COMMIT_MESSAGE | grep -E "^(${COMMIT_TYPE_LITERALS}):" | sed 's/^.*://')
sed -i.bak -e "s/.*:/$COMMIT_TYPE_PRESENT_IN_MESSAGE $TICKET_ID | /" $1
else
sed -i.bak -e "1s~^~$COMMIT_TYPE: $TICKET_ID | ~" $1
fi
I can be able to debug that the line that is failing is COMMIT_TYPE_PRESENT_IN_MESSAGE=$(echo $COMMIT_MESSAGE | grep -Eo "^(${COMMIT_TYPE_LITERALS}):"). If I comment that line, the last part of the file gets executed and works correctly. It appears as it is unable to grep inside the contents of the file COMMIT_EDITMSG.
Can't figure why... And as I stated, executing the code as a bash file with a fake COMMIT_EDITMSG file as input it works correctly...
Context
Please describe your issue and provide some context:
The version of terminal is zsh 5.9 on a Mac
Husky version 9.0.11
Put the aforementioned code on a file named prepare-commit-msg on a husky folder, on a git repository, and try to commit with a message.
The text was updated successfully, but these errors were encountered:
Troubleshoot
I have created an sh hook that runs correctly in the terminal creating temp files and executing it as a bash, but when I try to put the file into husky I get the following error when I try to commit:
The contents of the prepare-commit-msg hook are as follows:
I can be able to debug that the line that is failing is
COMMIT_TYPE_PRESENT_IN_MESSAGE=$(echo $COMMIT_MESSAGE | grep -Eo "^(${COMMIT_TYPE_LITERALS}):")
. If I comment that line, the last part of the file gets executed and works correctly. It appears as it is unable to grep inside the contents of the file COMMIT_EDITMSG.Can't figure why... And as I stated, executing the code as a bash file with a fake COMMIT_EDITMSG file as input it works correctly...
Context
Please describe your issue and provide some context:
The text was updated successfully, but these errors were encountered: