+is_typod_nomination()
+{
+ git show --summary "$1" | grep -q -i -o "CC:.*mesa-dev"
+}
+
+# Helper to handle various mistypos of the fixes tag.
+# The tag string itself is passed as argument and normalised within.
+is_sha_nomination()
+{
+ fixes=`git show --pretty=medium -s $1 | tr -d "\n" | \
+ sed -e 's/'"$2"'/\nfixes:/Ig' | \
+ grep -Eo 'fixes:[a-f0-9]{8,40}'`
+
+ fixes_count=`echo "$fixes" | wc -l`
+ if test $fixes_count -eq 0; then
+ return 0
+ fi
+ while test $fixes_count -gt 0; do
+ # Treat only the current line
+ id=`echo "$fixes" | tail -n $fixes_count | head -n 1 | cut -d : -f 2`
+ fixes_count=$(($fixes_count-1))
+
+ # Bail out if we cannot find suitable id.
+ # Any specific validation the $id is valid and not some junk, is
+ # implied with the follow up code
+ if test "x$id" = x; then
+ continue
+ fi
+
+ #Check if the offending commit is in branch.
+
+ # Be that cherry-picked ...
+ # ... or landed before the branchpoint.
+ if grep -q ^$id already_picked ||
+ grep -q ^$id already_landed ; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+is_fixes_nomination()
+{
+ is_sha_nomination "$1" "fixes:[[:space:]]*"
+ if test $? -eq 0; then
+ return 0
+ fi
+ is_sha_nomination "$1" "fixes[[:space:]]\+"
+}
+
+is_brokenby_nomination()
+{
+ is_sha_nomination "$1" "broken by"
+}
+
+is_revert_nomination()
+{
+ is_sha_nomination "$1" "This reverts commit "
+}
+