Re: linux-next: Signed-off-by missing for commit in the arm-soc tree
From: Stephen Rothwell
Date: Thu Mar 15 2018 - 17:39:12 EST
Hi Arnd,
On Thu, 15 Mar 2018 22:06:29 +0100 Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> What script do you use to find those? I guess I should check for
> missing signoffs as well when pulling a branch.
See below. You can give it any commit range you would give e.g. gitk.
I run this using he ranges reported by the "git fetch" for each tree
each day.
--
Cheers,
Stephen Rothwell
#!/bin/bash
if [ "$#" -lt 1 ]; then
printf "Usage: %s <commit range>\n", "$0" 1>&2
exit 1
fi
commits=$(git rev-list --no-merges "$@")
if [ -z "$commits" ]; then
printf "No commits\n"
exit 0
fi
for c in $commits; do
ae=$(git log -1 --format='%ae' "$c")
aE=$(git log -1 --format='%aE' "$c")
an=$(git log -1 --format='%an' "$c")
aN=$(git log -1 --format='%aN' "$c")
ce=$(git log -1 --format='%ce' "$c")
cE=$(git log -1 --format='%cE' "$c")
cn=$(git log -1 --format='%cn' "$c")
cN=$(git log -1 --format='%cN' "$c")
sob=$(git log -1 --format='%b' "$c" | grep -i '^[[:space:]]*Signed-off-by:')
am=false
cm=false
grep -i -q "<$ae>" <<<"$sob" ||
grep -i -q "<$aE>" <<<"$sob" ||
grep -i -q ":[[:space:]]*$an[[:space:]]*<" <<<"$sob" ||
grep -i -q ":[[:space:]]*$aN[[:space:]]*<" <<<"$sob" ||
am=true
grep -i -q "<$ce>" <<<"$sob" ||
grep -i -q "<$cE>" <<<"$sob" ||
grep -i -q ":[[:space:]]*$cn[[:space:]]*<" <<<"$sob" ||
grep -i -q ":[[:space:]]*$cN[[:space:]]*<" <<<"$sob" ||
cm=true
if "$am" || "$cm"; then
printf "Commit %s\n" "$c"
"$am" && printf "\tauthor SOB missing\n"
"$cm" && printf "\tcommitter SOB missing\n"
printf "%s %s\n%s\n" "$ae" "$ce" "$sob"
fi
done
exec gitk "$@"
Attachment:
pgp4l2UwH8pyE.pgp
Description: OpenPGP digital signature