bin/get-pick-list.sh: handle reverts prior to the branchpoint
authorEmil Velikov <emil.velikov@collabora.com>
Wed, 14 Nov 2018 18:49:54 +0000 (18:49 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 15 Nov 2018 16:15:15 +0000 (16:15 +0000)
Currently we detect when a breaking commit:
 - has landed in stable, and
 - is referenced by a untagged fix in master

Yet we did not consider the case of breaking commit:
 - prior to the branchpoint, and
 - is referenced by a untagged fix in master

Addressing the latter is extremely slow, due to the size of the lookup.

That said, we can trivially use the existing is_sha_nomination() helper
to catch reverts.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
bin/get-pick-list.sh

index e7fffdd128099031be0e6bfab5d5b5ce629d5d57..9f9cbc44026d320097f00d95ddd894c2c0313484 100755 (executable)
@@ -71,6 +71,11 @@ is_brokenby_nomination()
        is_sha_nomination "$1" "broken by"
 }
 
+is_revert_nomination()
+{
+       is_sha_nomination "$1" "This reverts commit "
+}
+
 # Use the last branchpoint as our limit for the search
 latest_branchpoint=`git merge-base origin/master HEAD`
 
@@ -83,7 +88,7 @@ git log --reverse --pretty=medium --grep="cherry picked from commit" $latest_bra
        sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked
 
 # Grep for potential candidates
-git log --reverse --pretty=%H -i --grep='^CC:.*mesa-stable\|^CC:.*mesa-dev\|\<fixes\>\|\<broken by\>' $latest_branchpoint..origin/master |\
+git log --reverse --pretty=%H -i --grep='^CC:.*mesa-stable\|^CC:.*mesa-dev\|\<fixes\>\|\<broken by\>\|This reverts commit' $latest_branchpoint..origin/master |\
 while read sha
 do
        # Check to see whether the patch is on the ignore list.
@@ -106,6 +111,8 @@ do
                tag=fixes
        elif is_brokenby_nomination "$sha"; then
                tag=brokenby
+       elif is_revert_nomination "$sha"; then
+               tag=revert
        else
                continue
        fi