From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2EFF5A055F; Sat, 15 Oct 2022 21:53:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C24B3400D4; Sat, 15 Oct 2022 21:53:49 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id E891740042 for ; Sat, 15 Oct 2022 21:53:48 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29FJdQMt001465; Sat, 15 Oct 2022 12:53:47 -0700 Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2170.outbound.protection.outlook.com [104.47.73.170]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3k7vcp0wxh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 15 Oct 2022 12:53:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bg+thv/x+/7Bz39vX7LEZxdcwVeVeiAzBPMnSm399mB3iGY/afyRTUGJvxc5rFiCewQVgYz6NDQGMwt0l9HMefwCWnhbL9InpJebjVY6Ho3g2TauCm27XNvFXIIhjE+PDeXf8MyZOsB6N2mhiXeKINyGXB9byswhsu1Z93EtV1axtVa6QJiFpZ6w7mJeVwhVhtQqsOQF8RPUVCCIgNivCqMnwE0WrysEGtoPYkGX47kB80Jd/evu9RaTasyJoclcGGex1zHioVS1CXj7Gx7H1Cnh+FHnbVrL73GG4WZHB9BWf/9CYOMTcneQuOCUvuT+/HHy813lb8QlsHcFO7qsAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E1yhnx21biD5zDjn2YH6rS3NgUfZCZf0uOrc5/KkODQ=; b=f1CMeuQUKskLWuzlxFGQznPOEi6RlPUM0DAHIEJBQB+g0fRLdtiQURxtPJ0M+z/JP6HOwiZN1Ko7ZFACZf/fMheOED+qCLUaYelUFy8JZcjXsID3ohKVMhhJlidzZl7N2C1Aiue0KVMX0GeacsHHma2olNeVHXRLjXplXB9ezu95u4VeMTSzI7uz66/p5zObxxgQT3xamt1jAkgFZn5s1IbkK4Aeoc8XKjwrbI1+Qqnxf4YWrbA+eC5zjQeQ46zZi6E7EnDExKgrbNyO4G7N9t7dZoOeiZ73WZHF6t9+s9BtdZY46dqoCvvKdckHrvHncfylL+9mKAzQuUxgRx1NVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E1yhnx21biD5zDjn2YH6rS3NgUfZCZf0uOrc5/KkODQ=; b=oQ9ot6Sk/+5fAHhvQmYriSf3yIWtMxyCumCADXZpemG2XknvmRtVpG/kzZg7KEp20IrKpf8lAyZIZ++NXQqrQacdC561NWLJ58tO7TJ8Y4fGOBe1kKn7Cxm3jHWCYzbOcw6ZB1wq/dj/OhdHEeBHTH8poIP3TP63LDhApqSafAc= Received: from PH0PR18MB4573.namprd18.prod.outlook.com (2603:10b6:510:a6::19) by PH0PR18MB4687.namprd18.prod.outlook.com (2603:10b6:510:ca::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.22; Sat, 15 Oct 2022 19:53:43 +0000 Received: from PH0PR18MB4573.namprd18.prod.outlook.com ([fe80::314:5eb6:5b0d:6b08]) by PH0PR18MB4573.namprd18.prod.outlook.com ([fe80::314:5eb6:5b0d:6b08%6]) with mapi id 15.20.5723.029; Sat, 15 Oct 2022 19:53:42 +0000 From: Jakub Palider To: Jakub Palider CC: "david.marchand@redhat.com" , "dev@dpdk.org" , "thomas@monjalon.net" Subject: RE: [PATCH v3] devtools: ensure proper tag sequence Thread-Topic: [PATCH v3] devtools: ensure proper tag sequence Thread-Index: AQHYm2dRkqrzARZatkqv70NA/oGuva4QaIdA Date: Sat, 15 Oct 2022 19:53:42 +0000 Message-ID: References: <20220613222143.1436424-1-jpalider@marvell.com> <20220719120123.3786204-1-jpalider@marvell.com> In-Reply-To: <20220719120123.3786204-1-jpalider@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4573:EE_|PH0PR18MB4687:EE_ x-ms-office365-filtering-correlation-id: bd84bc2d-30fe-4c94-0173-08daaee6f692 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ReakGU6E8Og/5+q8CH94JH+cqKhCyrtUQlB2iknHObT9vrktmEERbYLTPtTrjZOK/YvnXYTMMZFwjUKQ1V0wFfoMSO+N2staDz8hPgKdphX563A31knnjN+jc7Yq3sp4ho+jIcrExWdyjKAbSGSftGo3nxsW+lTun9/NaAp+B/+vwXqBkKZU6vuAtZlPFCH/SElxcGPyC4NoqtlC9vCv16DMHxDoLdJ0S5/teN12h0luK+jWcCLM6Miv6iwizqHEyHy1b7HI24FM50Z/G4VYynMLu3TXnov8C/r/7oXYnyL8O0/DqmPp5zrUahHzGJ99W4+6jqnUREWYT4A1cvXXduKWlvo+BLalUua8W3NX090CiTVLURHcOhlPD/cLarBQkNUNHZvZXomiGFv7PzlKDwekrfAs+RvYVUqzeFzbq/aDe+v8m2gX1gKTFJYjsoiOCpK2H8MwD5vIMeUauxfXzsuQgZnJ1yUdIq5McbJ6m7ZZYyQNIl7UePVcFZIt73lB0vZOc1xyrDOWN6831vsCCiBLy1GDrOW1skmC0FBE6fbGvf3e5VBWnFXmbnbM7MgqygM6HK7l6UmTEGdNHKJEWLhW+Ge0q7ZGcDBkKK3cdef7X3RSl/Qsw4jHp4aTU0VtHvvuS/WsYypAATGVvx5XTjjJs3xkpR+Qvgum3ra6IxYFdBBR5Z6cFm0TCF6z+1ukV+y8RJY5sch8urgzmdxa9cZuNqfl48VhdzwKhU+4G2sJbZAtBsOroNy4CbtYScBkIQaRYf0RYTu1PmwZRl0Irg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4573.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39850400004)(396003)(136003)(366004)(346002)(376002)(451199015)(4326008)(66446008)(66556008)(8676002)(66476007)(64756008)(316002)(54906003)(5660300002)(478600001)(9686003)(6506007)(7696005)(41300700001)(53546011)(26005)(52536014)(71200400001)(186003)(2906002)(6862004)(8936002)(66946007)(38070700005)(6200100001)(83380400001)(38100700002)(76116006)(55016003)(86362001)(33656002)(122000001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?BTL0+RuROaXin8SJa8L3CqkqUSv3w2/ej5pGu4Pw94V8CuSbKkM7lnz0r+QL?= =?us-ascii?Q?YownPlojwuQ0HVsrKvhVuMy3TkpRBK3Vluug98luadEDyW8lKDmN08XIHmOP?= =?us-ascii?Q?/f+4ndpNEA0n/7G5nLT5ftuHL7yyP45AogISCeWCKvqFVNStz0XZhS8UxrRt?= =?us-ascii?Q?sUPfWECmnBM0f/l17EfshxL4OM1KilZaDiZsOAFY2QmGtodgYmLuOmM2EZFv?= =?us-ascii?Q?Ci7SHEyv71688m2RVpJOCNfXtYKEbXnGmi/R2IRlDpBOoGBkWii7AIbPS9Sf?= =?us-ascii?Q?ZajIZ6hsq/KkbCna67Rn6PH3RtV3Qn0eT+BcsAiN3C/fEgH2Fi6lf/IkBbgj?= =?us-ascii?Q?UgPYmTBo920+dQo1W0nKwB+IOEZ697yDRuYKd02d3zFR9Z5ThSY4p/rlDtcC?= =?us-ascii?Q?NaYqDWhbA27UFPRt01hy7ySFL/7yRyiCal0yvH/66S6/dJ3UVqRq6UIx9QK7?= =?us-ascii?Q?XUhyhLyGUi9gxhCYSwnVLo3e9O/CYISyx4wHfTUAWeQHYXRXnbkiV5HyZM5D?= =?us-ascii?Q?/FciuOBoDTZYUXo9Gv++JpQjDtu06CXBXDhBucHK2aMa5L/03ozFxrHFTTYy?= =?us-ascii?Q?q9Z7MhoSMyJLwJw2GgIhiIOzwbA6612aqRUUgu4xMktESobmzamnZam2GZqy?= =?us-ascii?Q?oDswYym9SlcTvFxf5lHJi5+FkOz40L1Tt492HmWeGaQAF0Ncvk4gjPGz8Gnn?= =?us-ascii?Q?LNoHaEH9HWK9ZKbFykkPP7KGrxC1scaKXMO1f3Ga1yzFnNy8Y79zetT6JTgD?= =?us-ascii?Q?gti8uChXRc9hTH+I2wroYtGwrlQ9FiAyU/GmzZRkaT9MjGdgt8uVIPY6pJ09?= =?us-ascii?Q?5iXrd7SLwbkCejrFUgi4ZQgEZUAx9PJCsMkwnKpKXnhyX7bGuR+z0i2Jqv6H?= =?us-ascii?Q?RrBzc7cf4TIfTXYTIlCykkA887zcle0y7U9zERLxT2NJoZR7mQz+U6Bj/7vj?= =?us-ascii?Q?MLYxAQ120IBlKH5QVJKa4on/QoHuBB95iynJduO/4+ixf1TeTiG5CdFg5LKA?= =?us-ascii?Q?Mb4WJ368QhUc7CvoChXbvEQdlEub9mxCVwxe6Xvw8muJLoXvlhGJ0Rtk9VnB?= =?us-ascii?Q?qRzxRc43WiiqinzDH7KyuFdORmc2cp+51JDUKWc1kRyI2YawjAQ2+/XNg0qT?= =?us-ascii?Q?8AorUBCZkydCYJIC6OhNwSfc5AmKjAc9EIXSlvOB1K/aXGd0o4jFI/5Xv/4X?= =?us-ascii?Q?ITu6bE+WaBwOF3QLw9P0yHiMyP3KGPp8QIc5SvrQI7f7XPxld4SETm+odnsB?= =?us-ascii?Q?PZP5mpRoDFdXcHTNGXvhmp0KRxHZjoUbKIINS9+jXazuvop6Z+OuQ80IIRNs?= =?us-ascii?Q?Gnwfm+Ch3uv4E6WkwKCqBCo/+PuAbtWs/knUWT0aLB2woYclsJbC2per+tfc?= =?us-ascii?Q?+F3T4Sg0NqA20Q3u4ALB/wkc7jmBa2IbtBdS8gRFHa+H1JLbccCP6beOqrrM?= =?us-ascii?Q?yiNoEz0INKWkqLCmiZr3byfy1cFF0w5pLRvx71acctGWL0q0LvnIxvpb2Fe4?= =?us-ascii?Q?tRVeq9xfVLoMPWp7250quPB/Hv99a/79elD/k+KkWwHgTg40Ub6KAGzenSfU?= =?us-ascii?Q?bw5ZcvK7IRgK5b0cVzQ=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4573.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd84bc2d-30fe-4c94-0173-08daaee6f692 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Oct 2022 19:53:42.8352 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ekc/UxbMQ8sL28N+Fx9ZKIdhgP5bI8tweoPpH7nu3fQWDevr40188jX0gFs2q5smIzlRj9UfH/dotWrDofrysA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4687 X-Proofpoint-ORIG-GUID: eurs4ovBONrodUjuoiXA9zLvpj2Lhfoi X-Proofpoint-GUID: eurs4ovBONrodUjuoiXA9zLvpj2Lhfoi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-15_13,2022-10-14_01,2022-06-22_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org > -----Original Message----- > From: jpalider@marvell.com > Sent: Tuesday, July 19, 2022 2:01 PM > To: Jakub Palider > Cc: david.marchand@redhat.com; dev@dpdk.org; thomas@monjalon.net > Subject: [PATCH v3] devtools: ensure proper tag sequence >=20 > From: Jakub Palider >=20 > This change to log checking procedure ensures that certain tags are in pr= oper > order. > The order of tags is as follows: > * Coverity issue > * Bugzilla ID > * Fixes > * Cc > * > * Suggested-by > * Reported-by > + Signed-off-by > * Acked-by > * Reviewed-by > * Tested-by > where: > * =3D> 0 or more than one instance possible + =3D> more than once insta= nce > possible In order to satisfy the above requirements an extra check is > performed for obligatory tags. >=20 > v3: > * restored some tags under check > * defined chronological order after Signed-off >=20 > v2: > * narrowed down the tags under check >=20 > Signed-off-by: Jakub Palider > --- > devtools/check-git-log.sh | 56 +++++++++++++++++++++++++++++ > doc/guides/contributing/patches.rst | 28 +++++++++++++++ > 2 files changed, 84 insertions(+) >=20 > diff --git a/devtools/check-git-log.sh b/devtools/check-git-log.sh index > 23c6a7d9bb..9b98207f3a 100755 > --- a/devtools/check-git-log.sh > +++ b/devtools/check-git-log.sh > @@ -54,6 +54,7 @@ fixes=3D$(git log --format=3D'%h %s' --reverse $range |= grep > -i ': *fix' | cut -d' ' > stablefixes=3D$($selfdir/git-log-fixes.sh $range | sed '/(N\/A)$/d' | c= ut -d' ' - > f2) tags=3D$(git log --format=3D'%b' --reverse $range | grep -i -e 'by *= :' -e 'fix.*:') > bytag=3D'\(Reported\|Suggested\|Signed-off\|Acked\|Reviewed\|Tested\)- > by:' > +exttag=3D'Coverity issue:\|Bugzilla ID:\|Fixes:\|Cc:' >=20 > failure=3Dfalse >=20 > @@ -203,6 +204,61 @@ done) > [ -z "$bad" ] || { printf "Is it candidate for Cc: stable@dpdk.org > backport?\n$bad\n"\ > && failure=3Dtrue;} >=20 > +# check tag sequence > +bad=3D$(for commit in $commits; do > + body=3D$(git log --format=3D'%b' -1 $commit) > + echo "$body" |\ > + grep -o -e "$exttag\|^[[:blank:]]*$\|$bytag" | \ > + # retrieve tags only > + cut -f1 -d":" |\ > + # it is okay to have several tags of the same type but for processing > + # we need to squash them > + uniq |\ > + # make sure the tags are in the proper order as presented in SEQ > + awk -v cmt=3D"$commit" 'BEGIN{ > + SEQ[0] =3D "Coverity issue"; > + SEQ[1] =3D "Bugzilla ID"; > + SEQ[2] =3D "Fixes"; > + SEQ[3] =3D "Cc"; > + SEQ[4] =3D "^$"; > + SEQ[5] =3D "Suggested-by"; > + SEQ[6] =3D "Reported-by"; > + SEQ[7] =3D "Signed-off-by"; > + SEQ[8] =3D "Acked-by"; > + SEQ[9] =3D "Reviewed-by"; > + SEQ[10] =3D "Tested-by"; > + latest =3D 0; > + chronological =3D 0; > + } > + { > + for (seq =3D 0; seq < length(SEQ); seq++) { > + if (chronological =3D=3D 1) > + continue; > + if (match($0, SEQ[seq])) { > + if (seq < latest) { > + print "\tCommit " cmt " (" $0 ":)"; > + break; > + } else { > + latest =3D seq; > + } > + } > + } > + if (match($0, "Signed-off-by")) > + chronological =3D 1; > + }' > +done) > +[ -z "$bad" ] || { printf "Wrong tag order: \n$bad\n"\ > + && failure=3Dtrue;} > + > +# check required tag > +bad=3D$(for commit in $commits; do > + body=3D$(git log --format=3D'%b' -1 $commit) > + echo $body | grep -q "Signed-off-by:" \ > + || echo "\tCommit" $commit "(Signed-off-by:)" > + done) > +[ -z "$bad" ] || { printf "Missing obligatory tag: \n$bad\n"\ > + && failure=3Dtrue;} > + > total=3D$(echo "$commits" | wc -l) > if $failure ; then > printf "\nInvalid patch(es) found - checked $total patch" > diff --git a/doc/guides/contributing/patches.rst > b/doc/guides/contributing/patches.rst > index bebcaf3925..996089f2eb 100644 > --- a/doc/guides/contributing/patches.rst > +++ b/doc/guides/contributing/patches.rst > @@ -360,6 +360,34 @@ Where ``NNNNN`` is patchwork ID for patch or > series:: > --- > Depends-on: series-10000 ("Title of the series") >=20 > +Tag order > +~~~~~~~~~ > + > +There is a pattern indicating how certain tags should relate to each oth= er. > + > +Example of proper tag sequence:: > + > + Coverity issue: > + Bugzilla ID: > + Fixes: > + Cc: > + > + Suggested-by: > + Reported-by: > + Signed-off-by: > + Acked-by: > + Reviewed-by: > + Tested-by: > + > +Between first and second tag section there is and empty line. > + > +While ``Signed-off-by:`` is an obligatory tag and must exists in each > +commit, all other tags are optional. Any tag, as long as it is in > +proper location to other adjacent tags (if present), may occur multiple > times. > + > +Other tags after the first occurrence of ``Signed-off-by:`` shall be > +laid out in a chronological order. > + > Creating Patches > ---------------- >=20 > -- > 2.25.1 Hello, as the automatic tests reported performance only degradation on patch analy= sis change would it be feasible to integrate this patch? I think all concerns from previous versions are addressed. Regards, Jakub