From 44116b70ddd81e5486ed26b5aea67940fb927949 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 17 Sep 2024 11:38:41 +0200 Subject: [PATCH] chore(common): detect ssh remotes in git hooks Sometime ago we lost the ability to detect git remotes that use ssh (git@github.com:keymanapp/keyman.git) and we only detect remotes that use https (https://github.com/keymanapp/keyman.git). This change restores this ability. Also add some empty lines between the different parts of the error message. # Keyman Conventional Commit suggestions: # # - Link to a Sentry issue with git trailer: # Fixes: _MODULE_-_ID_ # - Give credit to co-authors: # Co-authored-by: _Name_ <_email_> # - Use imperative, present tense ('attach' not 'attaches', 'attached' etc) # - Don't include a period at the end of the title # - Always include a blank line before trailers # - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes --- resources/git-hooks/commit-msg | 10 +++++++--- resources/git-hooks/pre-commit | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/resources/git-hooks/commit-msg b/resources/git-hooks/commit-msg index 427ad96b58c..fcb4f26a040 100755 --- a/resources/git-hooks/commit-msg +++ b/resources/git-hooks/commit-msg @@ -51,7 +51,7 @@ fi GIT_ORIGIN="$(git remote get-url origin)" -if [[ ! "$GIT_ORIGIN" =~ github\.com/keymanapp ]]; then +if [[ ! "$GIT_ORIGIN" =~ github\.com(/|:)keymanapp ]]; then # Not a Keyman repository. We have no opinion. # echo "DEBUG: Not a Keyman repository. We don't care" exit 0 @@ -107,14 +107,18 @@ function print_error() { echo -e "----------------------------------------------------------${t_end}" echo -e "Valid types: ${t_grn}${types[@]}${t_end}" echo -e "Valid scopes: ${t_grn}${scopes[@]}${t_end}" - echo -e "Max length (first line): ${t_grn}$max_length${t_end}" + echo -e "" echo -e "Min length (first line): ${t_grn}$min_length${t_end}" + echo -e "Max length (first line): ${t_grn}$max_length${t_end}" + echo -e "" echo -e "If possible, append git trailers:" echo -e " * ${t_grn}Fixes: #1234${t_end}" echo -e " * ${t_grn}Fixes: KEYMAN-MODULE-XYZ${t_end}" echo -e " * ${t_grn}Cherry-pick-of: #2468${t_end}" echo -e " * ${t_grn}Co-authored-by: Firstname Lastname ${t_end}" + echo -e "" echo -e "${t_cyn}Example:${t_end} fix(windows): Re-attach the widget plug which had fallen out" + echo -e "" echo -e "${t_cyn}Reference${t_end}: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes" echo -e "" echo -e "Tips: " @@ -136,4 +140,4 @@ if [[ ! $msg =~ $regexp ]]; then print_error fi exit 1 -fi \ No newline at end of file +fi diff --git a/resources/git-hooks/pre-commit b/resources/git-hooks/pre-commit index db7ba3cf30c..df165feaec6 100755 --- a/resources/git-hooks/pre-commit +++ b/resources/git-hooks/pre-commit @@ -6,7 +6,7 @@ GIT_ORIGIN="$(git remote get-url origin)" -if [[ ! "$GIT_ORIGIN" =~ github\.com/keymanapp ]]; then +if [[ ! "$GIT_ORIGIN" =~ github\.com(/|:)keymanapp ]]; then # Not a Keyman repository. We have no opinion. echo "DEBUG: Not a Keyman repository. We don't care" exit 0