[dpdk-stable] [RFC stable-scripts v2] 1-import: don't filter commits for later releases that fix backported patches
Luca Boccassi
bluca at debian.org
Mon Oct 8 11:02:25 CEST 2018
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 at 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
More information about the stable
mailing list