From cd9aea32b93915db89a731bf4d72c424c2051a0a Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 17 Apr 2022 09:35:12 +0200 Subject: [PATCH 1/2] [ticket/16988] Improve handling of appended branch info and security branches PHPBB3-16988 --- git-tools/hooks/prepare-commit-msg | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/git-tools/hooks/prepare-commit-msg b/git-tools/hooks/prepare-commit-msg index 11d2b6b2f2..f86bc6abc6 100755 --- a/git-tools/hooks/prepare-commit-msg +++ b/git-tools/hooks/prepare-commit-msg @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # A hook to add [$branch] to the beginning of a commit message # if certain conditions are met. @@ -31,12 +31,19 @@ branch="$(echo "$branch" | sed "s/refs\/heads\///g")" if [ "$2" = "" ] then tail=""; + ticket_id=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\3/gm;t;d' <<< $branch); + branch_title=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\1\2\3/gm;t;d' <<< $branch); - # Branch is prefixed with 'ticket/', append ticket ID to message - if [ "$branch" != "${branch##ticket/}" ]; + if [ "security/" = "$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\2/gm;t;d' <<< $branch)" ]; then - tail="$(printf "\n\nPHPBB3-${branch##ticket/}")"; + tail="$(printf "\n\nSECURITY-$ticket_id")"; + else + # Branch is prefixed with 'ticket/', append ticket ID to message + if [ "$branch" != "${branch##ticket/}" ]; + then + tail="$(printf "\n\nPHPBB3-$ticket_id")"; + fi fi - echo "[$branch] $tail$(cat "$1")" > "$1" + echo "[$branch_title] $tail$(cat "$1")" > "$1" fi From 0d84769d66edb6ff3b2d162468ace5e97c226f30 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 17 Apr 2022 09:40:56 +0200 Subject: [PATCH 2/2] [ticket/16988] Apply fixes suggested by shellcheck PHPBB3-16988 --- git-tools/hooks/prepare-commit-msg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/git-tools/hooks/prepare-commit-msg b/git-tools/hooks/prepare-commit-msg index f86bc6abc6..cedb342e58 100755 --- a/git-tools/hooks/prepare-commit-msg +++ b/git-tools/hooks/prepare-commit-msg @@ -31,17 +31,17 @@ branch="$(echo "$branch" | sed "s/refs\/heads\///g")" if [ "$2" = "" ] then tail=""; - ticket_id=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\3/gm;t;d' <<< $branch); - branch_title=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\1\2\3/gm;t;d' <<< $branch); + ticket_id=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\3/gm;t;d' <<< "$branch"); + branch_title=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\1\2\3/gm;t;d' <<< "$branch"); - if [ "security/" = "$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\2/gm;t;d' <<< $branch)" ]; + if [ "security/" = "$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\2/gm;t;d' <<< "$branch")" ]; then - tail="$(printf "\n\nSECURITY-$ticket_id")"; + tail="$(printf '\n\nSECURITY-%s' "$ticket_id")"; else # Branch is prefixed with 'ticket/', append ticket ID to message if [ "$branch" != "${branch##ticket/}" ]; then - tail="$(printf "\n\nPHPBB3-$ticket_id")"; + tail="$(printf '\n\nPHPBB3-%s' "$ticket_id")"; fi fi