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 <thomas.monjalon@6wind.com>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
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.*:')
[ -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