[PATCH] git commit check for ack flag on rhel branches
Vratislav Podzimek
vpodzime at redhat.com
Tue Sep 17 06:12:42 UTC 2013
On Mon, 2013-09-16 at 12:17 -0700, Brian C. Lane wrote:
> From: "Brian C. Lane" <bcl at redhat.com>
>
> ---
> scripts/githooks/commit-msg | 24 +++++++++++++++++++-----
> 1 file changed, 19 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/githooks/commit-msg b/scripts/githooks/commit-msg
> index a360dbb..aa3a93e 100755
> --- a/scripts/githooks/commit-msg
> +++ b/scripts/githooks/commit-msg
> @@ -15,18 +15,20 @@
> # 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
> + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
> + echo >&2 Duplicate Signed-off-by lines.
> + exit 1
> }
>
> # Make sure commits on RHEL branches reference RHEL bugs.
> RETVAL=0
>
> -git branch | grep ^* | cut -c3- | grep -q ^rhel
> -if [ $? -eq 1 ]; then
> +branch_name=$(git branch | grep ^* | cut -c3-)
> +branch_pattern="^rhel([[:digit:]])-branch"
> +if [[ ! "$branch_name" =~ $branch_pattern ]]; then
> exit ${RETVAL}
> fi
> +RELEASE=${BASH_REMATCH[1]}
>
> if [ -f "${HOME}/.rhbzauth" ]; then
> . "${HOME}/.rhbzauth"
> @@ -51,6 +53,16 @@ else
> ${bzcmd} login
> fi
>
> +bz_has_ack() {
> + bug=$1
> + flags=$(${bzcmd} query --bug_id=${bug} --outputformat="%{flags}")
> +
> + ack_pattern="rhel-${RELEASE}\.[[:digit:]]+\.[[:digit:]]+\+"
> + if [[ ! "$flags" =~ $ack_pattern ]]; then
> + echo "*** BZ ${bug} is missing acks: ${flags}"
> + fi
> +}
> +
> summary="$(head -n 1 ${1})"
> for word in ${summary} ; do
> echo "${word}" | grep -q -E "^.*(#[0-9]+).*"
> @@ -61,6 +73,7 @@ for word in ${summary} ; do
> echo "*** BZ ${bug} is not a RHEL bug." >&2
> RETVAL=1
> fi
> + bz_has_ack ${bug}
> fi
> done
>
> @@ -75,6 +88,7 @@ if [ ${last} -gt 0 ]; then
> echo "*** BZ ${bug} is not a RHEL bug." >&2
> RETVAL=1
> fi
> + bz_has_ack ${bug}
> done
> fi
>
ACK.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list