From: Luca Boccassi <bluca@debian.org>
To: stable@dpdk.org
Cc: christian.ehrhardt@canonical.com, yskoh@mellanox.com,
ktraynor@redhat.com
Subject: Re: [dpdk-stable] [RFC stable-scripts v2] 1-import: don't filter commits for later releases that fix backported patches
Date: Mon, 08 Oct 2018 10:02:25 +0100 [thread overview]
Message-ID: <1538989345.8721.19.camel@debian.org> (raw)
In-Reply-To: <20180925123610.25087-1-bluca@debian.org>
On Tue, 2018-09-25 at 13:36 +0100, Luca Boccassi wrote:
> 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" ]
Ping - any chance of a review?
--
Kind regards,
Luca Boccassi
next prev parent reply other threads:[~2018-10-08 9:02 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 ` [dpdk-stable] [RFC stable-scripts v2] " Luca Boccassi
2018-10-08 9:02 ` Luca Boccassi [this message]
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=1538989345.8721.19.camel@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).