Skip to content
Snippets Groups Projects
Commit adbdfc66 authored by Emil Velikov's avatar Emil Velikov
Browse files

bin/get-pick-list.sh: handle reverts prior to the branchpoint


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: default avatarJuan A. Suarez <jasuarez@igalia.com>
Signed-off-by: default avatarEmil Velikov <emil.velikov@collabora.com>
parent c0012a07
No related branches found
No related tags found
No related merge requests found
...@@ -71,6 +71,11 @@ is_brokenby_nomination() ...@@ -71,6 +71,11 @@ is_brokenby_nomination()
is_sha_nomination "$1" "broken by" 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 # Use the last branchpoint as our limit for the search
latest_branchpoint=`git merge-base origin/master HEAD` latest_branchpoint=`git merge-base origin/master HEAD`
...@@ -83,7 +88,7 @@ git log --reverse --pretty=medium --grep="cherry picked from commit" $latest_bra ...@@ -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 sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked
# Grep for potential candidates # 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 while read sha
do do
# Check to see whether the patch is on the ignore list. # Check to see whether the patch is on the ignore list.
...@@ -106,6 +111,8 @@ do ...@@ -106,6 +111,8 @@ do
tag=fixes tag=fixes
elif is_brokenby_nomination "$sha"; then elif is_brokenby_nomination "$sha"; then
tag=brokenby tag=brokenby
elif is_revert_nomination "$sha"; then
tag=revert
else else
continue continue
fi fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment