summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorAndres Gomez <agomez@igalia.com>2017-05-06 17:09:35 +0300
committerAndres Gomez <agomez@igalia.com>2017-05-08 11:28:17 +0300
commit77306e2afc4b2148b8532b6b4759af24cc135f6b (patch)
treea57cf81d64c7bbe614144e1863c12eae46a58bf6 /bin
parentdf3b2210161179d3141668a77139ee8c0a33d4cd (diff)
bin/get-fixes-pick-list.sh: don't warn if more than one, go over them
If an identified commit was having more than one fix, we would warn about that and only treat the first. Now, we don't warn but treat all of them. Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/get-fixes-pick-list.sh51
1 files changed, 26 insertions, 25 deletions
diff --git a/bin/get-fixes-pick-list.sh b/bin/get-fixes-pick-list.sh
index f1398f320c8..cf95f283771 100755
--- a/bin/get-fixes-pick-list.sh
+++ b/bin/get-fixes-pick-list.sh
@@ -33,37 +33,38 @@ do
# For each one try to extract the tag
fixes_count=`git show $sha | grep -i "fixes:" | wc -l`
- if [ "x$fixes_count" != x1 ] ; then
- printf "WARNING: Commit \"%s\" has more than one Fixes tag\n" \
- "`git log -n1 --pretty=oneline $sha`"
- fi
- fixes=`git show $sha | grep -i "fixes:" | head -n 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 ' '`
+ while [ $fixes_count -gt 0 ] ; do
+ fixes=`git show $sha | grep -i "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 ' '`
- # Bail out if we cannot find suitable id.
- # Any specific validation the $id is valid and not some junk, is
- # implied with the follow up code
- if [ "x$id" = x ] ; then
- continue
- fi
+ # Bail out if we cannot find suitable id.
+ # Any specific validation the $id is valid and not some junk, is
+ # implied with the follow up code
+ if [ "x$id" = x ] ; then
+ continue
+ fi
- # Check if the offending commit is in branch.
+ # Check if the offending commit is in branch.
- # Be that cherry-picked ...
- # ... or landed before the branchpoint.
- if grep -q ^$id already_picked ||
- grep -q ^$id already_landed ; then
+ # Be that cherry-picked ...
+ # ... or landed before the branchpoint.
+ if grep -q ^$id already_picked ||
+ grep -q ^$id already_landed ; then
- # Finally nominate the fix if it hasn't landed yet.
- if grep -q ^$sha already_picked ; then
- continue
+ # Finally nominate the fix if it hasn't landed yet.
+ if grep -q ^$sha already_picked ; then
+ continue
+ fi
+
+ printf "Commit \"%s\" fixes %s\n" \
+ "`git log -n1 --pretty=oneline $sha`" \
+ "$id"
+ fixes_count=0
fi
- printf "Commit \"%s\" fixes %s\n" \
- "`git log -n1 --pretty=oneline $sha`" \
- "$id"
- fi
+ done
done