From: Luca Boccassi <bluca@debian.org>
To: stable@dpdk.org
Cc: christian.ehrhardt@canonical.com, yskoh@mellanox.com,
ktraynor@redhat.com, Luca Boccassi <bluca@debian.org>
Subject: [dpdk-stable] [RFC stable-scripts v2] 1-import: don't filter commits for later releases that fix backported patches
Date: Tue, 25 Sep 2018 13:36:10 +0100 [thread overview]
Message-ID: <20180925123610.25087-1-bluca@debian.org> (raw)
In-Reply-To: <20180917180727.21974-1-bluca@debian.org>
A patch might fix a commit in a later release and so it is skipped. But
that commit might have been backported in the past, so skipping the
patch is wrong.
Rework the list pruning to take this case into account.
Signed-off-by: Luca Boccassi <bluca@debian.org>
---
v2: create $stable_release directory in case it's not already there
(first round of backporting)
1-import | 40 +++++++++++++++++++++++++++++-----------
1 file changed, 29 insertions(+), 11 deletions(-)
diff --git a/1-import b/1-import
index 05dfdf0..497c0ae 100755
--- a/1-import
+++ b/1-import
@@ -28,18 +28,36 @@ import_one_commit()
if [ "$PRUNE_COMMITS" = "yes" ]
then
get_stable_release
- # need to update it in 2021!
- for _major in {16..20}
+ tmp_list=$PWD/$stable_release/tmp_list
+ rm -f $tmp_list
+ mkdir -p $PWD/$stable_release
+
+ pushd $STABLE_DIR &>/dev/null
+ log=$($GIT log v${RTE_VER_MAJOR}..v$last_release)
+ while read line
do
- for _minor in {02..11..3}
- do
- if verlte $stable_release $_major.$_minor
- then
- sed -i "/($_major.$_minor (partially.*\$/d" $commit_list
- sed -i "/($_major.$_minor)\$/d" $commit_list
- fi
- done
- done
+ # Get the id of the commit being fixed, for the first check
+ id=$(echo $line | awk '{print $2}')
+ fixes=$($GIT log --format='%b' -1 $id | sed -n 's,^ *\([Ff]ixes\|[Rr]everts\): *\([0-9a-f]*\).*,\2,p')
+
+ # Was stable CC'ed without a Fixes line? If so select it just in case
+ if echo $line | grep -q "(N/A)"
+ then
+ echo $line >> $tmp_list
+ # Is the patch fixing a commit that was part of this stable release?
+ # If so select it
+ elif verlte `echo $line | sed "s/.*(\([0-9][0-9].[0-9][0-9]\).*)/\1/"` $stable_release
+ then
+ echo $line >> $tmp_list
+ # Was the commit (which might be only in a subsequent release)
+ # that the patch "fixes" backported? If so select it
+ elif test -n fixes && echo $log | grep -q -e "backported from commit $fixes" -e "upstream commit $fixes"
+ then
+ echo $line >> $tmp_list
+ fi
+ done < $commit_list
+ popd &>/dev/null
+ mv $tmp_list $commit_list
fi
if [ "$GIT_AM_PAUSE_ON_FAIL" = "yes" ]
--
2.18.0
next prev parent reply other threads:[~2018-09-25 12:36 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-17 18:07 [dpdk-stable] [RFC stable-scripts] " Luca Boccassi
2018-09-25 12:36 ` Luca Boccassi [this message]
2018-10-08 9:02 ` [dpdk-stable] [RFC stable-scripts v2] " Luca Boccassi
2018-10-08 10:58 ` Kevin Traynor
2018-10-08 11:17 ` Luca Boccassi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180925123610.25087-1-bluca@debian.org \
--to=bluca@debian.org \
--cc=christian.ehrhardt@canonical.com \
--cc=ktraynor@redhat.com \
--cc=stable@dpdk.org \
--cc=yskoh@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).