[PATCH] Missing acks should only be fatal on primary branch
Brian C. Lane
bcl at redhat.com
Tue Sep 17 16:37:20 UTC 2013
From: "Brian C. Lane" <bcl at redhat.com>
Previous patch wasn't fatal at all, and only checked for rhelX-branch.
The commit-msg hook doesn't run when cherry-picking which is usually how
I move things over to the primary branch after acks are granted.
This makes commits on non -branch branches starting with rhelX- just a
warning. And if you do happen to commit on the primary it will be fatal.
I haven't figured out a way to hook cherry-picks yet, so this will have
to do for now.
(note this will be squashed with the previous and this commentary
removed)
---
scripts/githooks/commit-msg | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/scripts/githooks/commit-msg b/scripts/githooks/commit-msg
index aa3a93e..8fa2f8d 100755
--- a/scripts/githooks/commit-msg
+++ b/scripts/githooks/commit-msg
@@ -24,12 +24,21 @@ test "" = "$(grep '^Signed-off-by: ' "$1" |
RETVAL=0
branch_name=$(git branch | grep ^* | cut -c3-)
-branch_pattern="^rhel([[:digit:]])-branch"
+branch_pattern="^rhel([[:digit:]])-(.*)"
if [[ ! "$branch_name" =~ $branch_pattern ]]; then
exit ${RETVAL}
fi
RELEASE=${BASH_REMATCH[1]}
+# Is this a local branch, or the primary branch?
+if [ "${BASH_REMATCH[2]}" == "branch" ]; then
+ # Make a missing ack block the commit
+ ACK_FATAL=1
+else
+ # Missing acks are just warnings
+ ACK_FATAL=0
+fi
+
if [ -f "${HOME}/.rhbzauth" ]; then
. "${HOME}/.rhbzauth"
fi
@@ -53,6 +62,8 @@ else
${bzcmd} login
fi
+# Check the bz to see if it has an ack for this release. If the branch is
+# a local branch, just warn. If it is the primary branch, block the commit.
bz_has_ack() {
bug=$1
flags=$(${bzcmd} query --bug_id=${bug} --outputformat="%{flags}")
@@ -60,6 +71,10 @@ bz_has_ack() {
ack_pattern="rhel-${RELEASE}\.[[:digit:]]+\.[[:digit:]]+\+"
if [[ ! "$flags" =~ $ack_pattern ]]; then
echo "*** BZ ${bug} is missing acks: ${flags}"
+
+ if [ $ACK_FATAL -eq 1 ]; then
+ RETVAL=1
+ fi
fi
}
--
1.8.3.1
More information about the anaconda-patches
mailing list