summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorEmil Velikov <emil.velikov@collabora.com>2018-11-14 18:49:54 +0000
committerEmil Velikov <emil.l.velikov@gmail.com>2018-11-15 16:15:15 +0000
commitadbdfc6666052d604a97009d736b6dee957908a0 (patch)
treecc5d8edda4ed4513688322b06c4ec5fb2437f333 /bin
parentc0012a07088e86f6d30405d0522a0d72801e2ec7 (diff)
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: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/get-pick-list.sh9
1 files changed, 8 insertions, 1 deletions
diff --git a/bin/get-pick-list.sh b/bin/get-pick-list.sh
index e7fffdd1280..9f9cbc44026 100755
--- a/bin/get-pick-list.sh
+++ b/bin/get-pick-list.sh
@@ -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