We were not considering as multiple fixes lines with:
Fixes: $sha_1, Fixes: $sha_2

Now, we split the lines so we will consider them individually, as in:
Fixes: $sha_1,
Fixes: $sha_2

Additionally, we try to get the SHA from split lines so:
Fixes:
$sha_1

Will be considered as:
Fixes: $sha_1

Signed-off-by: Andres Gomez <ago...@igalia.com>
---
 bin/get-fixes-pick-list.sh | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/bin/get-fixes-pick-list.sh b/bin/get-fixes-pick-list.sh
index f9afcc49ce..32d830cda0 100755
--- a/bin/get-fixes-pick-list.sh
+++ b/bin/get-fixes-pick-list.sh
@@ -36,14 +36,18 @@ do
                continue
        fi
 
+       # Place every "fixes:" tag on its own line and join with the next word
+       # on its line or a later one.
+       fixes=`git show -s $sha | tr -d "\n" | sed -e 's/fixes:/\nfixes:/Ig' | 
grep "fixes:" | sed -e 's/\(fixes:\)[[:space:]]*\([a-zA-Z0-9]*\).*$/\1\2/g'`
+
        # For each one try to extract the tag
-       fixes_count=`git show -s $sha | grep -i "fixes:" | wc -l`
+       fixes_count=`echo "$fixes" | wc -l`
        warn=`(test $fixes_count -gt 1 && echo $fixes_count) || echo 0`
        while [ $fixes_count -gt 0 ] ; do
-               fixes=`git show -s $sha | grep -i "fixes:" | tail -n 
$fixes_count`
+               # Treat only the current line
+               fix=`echo "$fixes" | tail -n $fixes_count | head -n 1`
                fixes_count=$(($fixes_count-1))
-               # The following sed/cut combination is borrowed from GregKH
-               id=`echo ${fixes} | sed -e 's/^[ \t]*//' | cut -f 2 -d ':' | 
sed -e 's/^[ \t]*//' | cut -f 1 -d ' '`
+               id=`echo "$fix" | cut -d : -f 2`
 
                # Bail out if we cannot find suitable id.
                # Any specific validation the $id is valid and not some junk, is
-- 
2.11.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to