scripts: check fixed commit branch
authorThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 29 Jun 2016 14:39:50 +0000 (16:39 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 1 Jul 2016 10:35:57 +0000 (12:35 +0200)
The commit id of a fixed commit must be in the current branch.
It avoids referencing a local branch or a next-* branch when
pushing in the master.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
scripts/check-git-log.sh

index 9a0d068..7d2c7ee 100755 (executable)
@@ -140,7 +140,11 @@ IFS='
 fixtags=$(echo "$tags" | grep '^Fixes: ')
 bad=$(for fixtag in $fixtags ; do
        hash=$(echo "$fixtag" | sed 's,^Fixes: \([0-9a-f]*\).*,\1,')
-       good="Fixes: $hash "$(git log --format='("%s")' -1 $hash 2>&-)
+       if git branch --contains $hash | grep -q '^\*' ; then
+               good="Fixes: $hash "$(git log --format='("%s")' -1 $hash 2>&-)
+       else
+               good="reference not in current branch"
+       fi
        printf "$fixtag" | grep -v "^$good$"
 done | sed 's,^,\t,')
 [ -z "$bad" ] || printf "Wrong 'Fixes' reference:\n$bad\n"