From ecb9eb29274bed758220c2c10a5540cd832f45bd Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Tue, 5 Jul 2016 17:47:05 +0200 Subject: [PATCH] scripts: fix commit check of first word The first word of each commit message is checked. But when the commit range was greater than 1, only the latest commit was checked. It is fixed by checking each commit separately. Fixes: 9c24780f0d5e ("scripts: check first word of commit messages") Signed-off-by: Thomas Monjalon Tested-by: Bruce Richardson Acked-by: Bruce Richardson --- scripts/check-git-log.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/check-git-log.sh b/scripts/check-git-log.sh index 7d2c7ee83b..c7fc0e45cd 100755 --- a/scripts/check-git-log.sh +++ b/scripts/check-git-log.sh @@ -49,6 +49,7 @@ fi range=${1:-origin/master..} +commits=$(git log --format='%h' $range) headlines=$(git log --format='%s' $range) bodylines=$(git log --format='%b' $range) tags=$(git log --format='%b' $range | grep -i -e 'by *:' -e 'fix.*:') @@ -115,9 +116,10 @@ bad=$(echo "$bodylines" | grep -v '^Fixes:' | awk 'length>75 {print}' | sed 's,^ [ -z "$bad" ] || printf "Line too long:\n$bad\n" # check starting commit message with "It" -bad=$(echo "$bodylines" | head -n1 | grep -E --color=always \ - -ie '^It ' \ - | sed 's,^,\t,') +bad=$(for commit in $commits ; do + firstbodyline=$(git log --format='%b' -1 $commit | head -n1) + echo "$firstbodyline" | grep --color=always -ie '^It ' +done | sed 's,^,\t,') [ -z "$bad" ] || printf "Wrong beginning of commit message:\n$bad\n" # check tags spelling -- 2.20.1