Thread (19 messages) 19 messages, 4 authors, 2024-08-21

Re: [dpdk-dev] [dpdk-stable] [PATCH v2 1/2] devtools: fix version pattern for fix search

From: Xueming(Steven) Li <hidden>
Date: 2021-08-09 03:32:57

Hi,
-----Original Message-----
From: Thomas Monjalon <redacted>
Sent: Sunday, August 8, 2021 7:15 PM
To: Xueming(Steven) Li <redacted>
Cc: dev@dpdk.org; stable@dpdk.org; Christian Ehrhardt <redacted>; david.marchand@redhat.com; Luca
Boccassi [off-list ref]
Subject: Re: [dpdk-stable] [PATCH v2 1/2] devtools: fix version pattern for fix search

30/06/2021 08:34, Xueming Li:
quoted
When scanning fixes from current(HEAD) branch, local tags were
included and reported as version. For example:
  $ git tag --contains <commit_id> --merged
  20.11_backport_202010506   // user tag
  v20.11
  v20.11.1

This patch matches DPDK officail version pattern in search, selects
the most early tag. Official tag pattern: "v<major>.<minor>"

Fixes: 752d8e097ec1 ("scripts: show fixes with release version of
bug")
Cc: Thomas Monjalon <redacted>
Cc: stable@dpdk.org

Signed-off-by: Xueming Li <redacted>
Reviewed-by: Christian Ehrhardt <redacted>
---
 devtools/git-log-fixes.sh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh
index 210c8dcf25..153ba5b438 100755
--- a/devtools/git-log-fixes.sh
+++ b/devtools/git-log-fixes.sh
@@ -38,12 +38,13 @@ range="$*"
 # get major release version of a commit  commit_version () # <hash>
{
+	local VER="v*.*"
Which tag is it supposed to match? What would not be matched?
What about something like v19.11.8 ?
What about the above example 20.11_backport_202010506?
It matches any tag version like started with "v" and a "." in the middle.
So v19.11.8 matches as at least one "." in the middle.
20.11_backport_202010506 can't match since it not started with "v"
quoted
 	# use current branch as history reference
 	local refbranch=$(git rev-parse --abbrev-ref HEAD)
-	local tag=$( (git tag -l --contains $1 --merged $refbranch 2>&- ||
+	local tag=$( (git tag -l "$VER" --contains $1 --sort=creatordate --merged $refbranch 2>&- ||
Why adding "--sort=creatordate" ?
It is not mentioned in the commit log.
Mentioned a little bit: "select the most early tag"
By default git output tag in alpha order, this makes v19.11 appears earlier than v2.x, that's wrong.
quoted
 		# tag --merged option has been introduced in git 2.7.0
 		# below is a fallback in case of old git version
-		for t in $(git tag -l --contains $1) ; do
+		for t in $(git tag -l "$VER" --contains $1) ; do
 			git branch $refbranch --contains $t |
 			sed "s,.\+,$t,"
 		done) |


  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help