123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!/bin/sh
- #
- # An example hook script to check the commit log message.
- # Called by "git commit" with one argument, the name of the file
- # that has the commit message. The hook should exit with non-zero
- # status after issuing an appropriate message if it wants to stop the
- # commit. The hook is allowed to edit the commit message file.
- YELLOW="\e[93m"
- GREEN="\e[32m"
- RED="\e[31m"
- ENDCOLOR="\e[0m"
- printMessage() {
- printf "${YELLOW}AppFlowy : $1${ENDCOLOR}\n"
- }
- printSuccess() {
- printf "${GREEN}AppFlowy : $1${ENDCOLOR}\n"
- }
- printError() {
- printf "${RED}AppFlowy : $1${ENDCOLOR}\n"
- }
- printMessage "Running the AppFlowy commit-msg hook."
- # This example catches duplicate Signed-off-by lines.
- test "" = "$(grep '^Signed-off-by: ' "$1" |
- sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
- echo >&2 Duplicate Signed-off-by lines.
- exit 1
- }
- .githooks/gitlint \
- --msg-file=$1 \
- --subject-regex="^(build|chore|ci|docs|feat|feature|fix|perf|refactor|revert|style|test)(.*)?:\s?.*" \
- --subject-maxlen=100 \
- --subject-minlen=10 \
- --body-regex=".*" \
- --body-maxlen=200 \
- --max-parents=1
- if [ $? -ne 0 ]
- then
- printError "Please fix your commit message to match AppFlowy coding standards"
- printError "https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/submitting-code/code-submission-guidelines#commit-message-guidelines"
- exit 1
- fi
|