[Mesa-dev] [PATCH 2/2] bin/get-fixes-pick-list.sh: better identify multiple "fixes:" tags

Andres Gomez agomez at igalia.com
Sat May 13 00:11:08 UTC 2017


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 <agomez at 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



More information about the mesa-dev mailing list