Hi Mauro, On Thu, 17 May 2018 07:06:57 -0300 Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> wrote: > > What do you use in order to check it? Maybe we could have some git > hook running such check, in order to prevent merging patches without > the right SOBs. I run the script below on the range of new commits each time a fetch a tree ... -- 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:
pgpOBuAbT9YR1.pgp
Description: OpenPGP digital signature