From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [PATCH v2] scripts: check cc stable mailing list in commit Date: Thu, 1 Dec 2016 14:43:38 +0100 Message-ID: <1480599818-14911-1-git-send-email-thomas.monjalon@6wind.com> References: <1479768194-6255-1-git-send-email-thomas.monjalon@6wind.com> To: dev@dpdk.org Return-path: Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by dpdk.org (Postfix) with ESMTP id DF8C93989 for ; Thu, 1 Dec 2016 14:43:42 +0100 (CET) Received: by mail-wm0-f48.google.com with SMTP id a197so299136858wmd.0 for ; Thu, 01 Dec 2016 05:43:42 -0800 (PST) Received: from XPS13.localdomain (184.203.134.77.rev.sfr.net. [77.134.203.184]) by smtp.gmail.com with ESMTPSA id c133sm985795wme.12.2016.12.01.05.43.41 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Dec 2016 05:43:41 -0800 (PST) In-Reply-To: <1479768194-6255-1-git-send-email-thomas.monjalon@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add a check for commits fixing a released bug. Such commits are found thanks to scripts/git-log-fixes.sh. They must be sent CC: stable@dpdk.org. In order to avoid forgetting CC, this mail header can be written in the git commit message. Signed-off-by: Thomas Monjalon --- v2: fix option -N --- scripts/check-git-log.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/check-git-log.sh b/scripts/check-git-log.sh index 5f8a9fc..f79f0a2 100755 --- a/scripts/check-git-log.sh +++ b/scripts/check-git-log.sh @@ -47,12 +47,18 @@ if [ "$1" = '-h' -o "$1" = '--help' ] ; then exit fi +selfdir=$(dirname $(readlink -e $0)) range=${1:-origin/master..} +# convert -N to HEAD~N.. in order to comply with git-log-fixes.sh getopts +if printf -- $range | grep -q '^-[0-9]\+' ; then + range="HEAD$(printf -- $range | sed 's,^-,~,').." +fi commits=$(git log --format='%h' --reverse $range) headlines=$(git log --format='%s' --reverse $range) bodylines=$(git log --format='%b' --reverse $range) fixes=$(git log --format='%h %s' --reverse $range | grep -i ': *fix' | cut -d' ' -f1) +stablefixes=$($selfdir/git-log-fixes.sh $range | sed '/(N\/A)$/d' | cut -d' ' -f2) tags=$(git log --format='%b' --reverse $range | grep -i -e 'by *:' -e 'fix.*:') bytag='\(Reported\|Suggested\|Signed-off\|Acked\|Reviewed\|Tested\)-by:' @@ -191,3 +197,10 @@ bad=$(for fixtag in $fixtags ; do printf "$fixtag" | grep -v "^$good$" done | sed 's,^,\t,') [ -z "$bad" ] || printf "Wrong 'Fixes' reference:\n$bad\n" + +# check CC:stable for fixes +bad=$(for fix in $stablefixes ; do + git log --format='%b' -1 $fix | grep -qi '^CC: *stable@dpdk.org' || + git log --format='\t%s' -1 $fix +done) +[ -z "$bad" ] || printf "Should CC: stable@dpdk.org\n$bad\n" -- 2.7.0