@@ -3,22 +3,20 @@ trap 'echo "${BASH_SOURCE[0]}: line ${LINENO}: status ${?}: user ${USER}: func $
33set -o errexit
44set -o errtrace
55
6- echo " [INFO] pre-commit hook"
7-
86source ~ /properties/git/hooks/.env
97HOOKS_DIR=$( git rev-parse --git-path hooks)
108REPO_ROOT=$( git rev-parse --show-toplevel)
11- echo " [INFO] Environment : ${ENV_NAME} "
12- echo " [INFO] Git hooks dir: ${HOOKS_DIR} "
13- echo " [INFO] Repository root: ${REPO_ROOT} "
9+ echo " [pre-commit] [ INFO] environment : ${ENV_NAME} "
10+ echo " [pre-commit] [ INFO] git hooks dir: ${HOOKS_DIR} "
11+ echo " [pre-commit] [ INFO] repository root: ${REPO_ROOT} "
1412
1513# #####################################################################
1614
1715# ## block specific keywords
1816BLOCKED_KEYWORDS=" $( cat ${HOOKS_DIR} /blocked_keywords.txt) "
1917for KEYWORD in ${BLOCKED_KEYWORDS} ; do
2018 if git diff --cached | grep ${KEYWORD} ; then
21- echo " [ERROR] Commit contains a blocked keyword: ${KEYWORD} "
19+ echo " [pre-commit] [ ERROR] Commit contains a blocked keyword: ${KEYWORD} "
2220 exit 1
2321 fi
2422done
2725
2826# ## signing commits
2927
30- CURRENT_USER_NAME=" $( git config user.name) "
31- CURRENT_USER_EMAIL=" $( git config user.email) "
32- CURRENT_GPG_SIGNING_KEY=" $( git config user.signingkey) "
28+ GPG_SIGNING_KEY=" $( git config user.signingkey) "
3329
3430# ## check if the current gpg signing key exists
35- if [ -z " ${CURRENT_GPG_SIGNING_KEY} " ]; then
36- echo " [ERROR] No GPG key set for signing commits."
31+ echo " [pre-commit] [INFO] Current GPG signing key: ${GPG_SIGNING_KEY} "
32+ if [ -z " ${GPG_SIGNING_KEY} " ]; then
33+ echo " [pre-commit] [ERROR] No GPG key set for signing commits."
3734 exit 1
3835fi
39- echo " [pre-commit] [INFO] Current GPG signing key: ${CURRENT_GPG_SIGNING_KEY} "
4036
4137# ## check if the current user name and email match the env config
42- if [ " ${CURRENT_USER_NAME} " != " ${ENV_USER_NAME} " ] ||
43- [ " ${CURRENT_USER_EMAIL} " != " ${ENV_USER_EMAIL} " ]; then
44- echo " [ERROR] Commit rejected. Your user name or email is incorrect."
38+ echo " [pre-commit] [INFO] Current user name: ${GIT_AUTHOR_NAME} "
39+ echo " [pre-commit] [INFO] Current user email: ${GIT_AUTHOR_EMAIL} "
40+ if [ " ${GIT_AUTHOR_NAME} " != " ${ENV_USER_NAME} " ] ||
41+ [ " ${GIT_AUTHOR_EMAIL} " != " ${ENV_USER_EMAIL} " ]; then
42+ echo " [pre-commit] [ERROR] Commit rejected. Your user name or email is incorrect."
4543 exit 1
4644fi
47- echo " [pre-commit] [INFO] Current user name: ${CURRENT_USER_NAME} "
48- echo " [pre-commit] [INFO] Current user email: ${CURRENT_USER_EMAIL} "
4945
5046# ## check if the current gpg signing key matches the env config
5147GPG_USER_INFO=" $( gpg --list-keys --with-colons " ${ENV_GPG_SIGNING_KEY} " | grep " ^uid:" | head -n 1 | cut -d: -f10) "
5248GPG_USER_NAME=" ${GPG_USER_INFO% <* } "
5349GPG_USER_EMAIL=" ${GPG_USER_INFO#* <} " && GPG_USER_EMAIL=" ${GPG_USER_EMAIL% >} "
54- if [ " ${CURRENT_USER_NAME } " != " ${GPG_USER_NAME} " ] ||
55- [ " ${CURRENT_USER_EMAIL } " != " ${GPG_USER_EMAIL} " ]; then
56- echo " [ERROR] Git config user name or email doesn't match the GPG key's user name or email."
50+ if [ " ${GIT_AUTHOR_NAME } " != " ${GPG_USER_NAME} " ] ||
51+ [ " ${GIT_AUTHOR_EMAIL } " != " ${GPG_USER_EMAIL} " ]; then
52+ echo " [pre-commit] [ ERROR] Git config user name or email doesn't match the GPG key's user name or email."
5753 exit 1
5854fi
5955echo " [pre-commit] [INFO] GPG signing key matches the environment config."
0 commit comments