From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by dpdk.org (Postfix) with ESMTP id 2A2111B128 for ; Tue, 25 Sep 2018 14:36:19 +0200 (CEST) Received: by mail-wr1-f45.google.com with SMTP id o16so9877023wrx.2 for ; Tue, 25 Sep 2018 05:36:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=g3V489K0Fi4ureMUeZek/GAi5VVLFVuQUAtYMBEtM2E=; b=LYslnlgu4pebSS0Zig49wDhOhXvrvefczl56UA2WNeRYk/Ohc46mEcNT/tQEFgEluG VQXqC4iWnMNAmsubuu+VcqYBZnAemFuSrzSwI0q/LZYD1cpwbIV0g/gZXeSRQdTJu8yA OwV8dEkVxauIPeCcpk8r/guIG3v3J4OmgiBC7F2ufVsceKCoMP0Pfrg37E68S/81lddS 58FRn9A/OpBTH6BPirJMxmT4gz5bE6AwNy5lfj1Zd5Y9kuCJiRL9FzYb+5UMYq7eoQoX q3csh4xYR9nqJbElW+aeVUJ83nxnbOGQLJYMjYzznoxAt1hE8kyE8mHwenQ3xqKnmseq Tpvg== X-Gm-Message-State: ABuFfojtJX+sheeARR0bAOSJhuRCC+1efqIKeeRiPf7hnF1VDiQFRcyl Zd7Gbs49/kvnFzvXsCskAjFYGuN3 X-Google-Smtp-Source: ACcGV63dMILR4FCp96ReV8F1vSybzYy3g6VxJN/m6ttTxpNcePQGs6Fd7VexPJEhcVJ5J86X4hDTTA== X-Received: by 2002:adf:a599:: with SMTP id g25-v6mr840984wrc.88.1537878978488; Tue, 25 Sep 2018 05:36:18 -0700 (PDT) Received: from localhost ([2001:1be0:110d:fcfe:489f:80a9:5d59:c6bd]) by smtp.gmail.com with ESMTPSA id 124-v6sm2769096wmk.20.2018.09.25.05.36.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 25 Sep 2018 05:36:17 -0700 (PDT) From: Luca Boccassi To: stable@dpdk.org Cc: christian.ehrhardt@canonical.com, yskoh@mellanox.com, ktraynor@redhat.com, Luca Boccassi Date: Tue, 25 Sep 2018 13:36:10 +0100 Message-Id: <20180925123610.25087-1-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180917180727.21974-1-bluca@debian.org> References: <20180917180727.21974-1-bluca@debian.org> Subject: [dpdk-stable] [RFC stable-scripts v2] 1-import: don't filter commits for later releases that fix backported patches X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2018 12:36:19 -0000 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 --- 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