[dpdk-dev] [PATCH] devtools: add fixes column to git-log-fixes

Kevin Traynor ktraynor at redhat.com
Mon Feb 3 16:44:26 CET 2020


During backporting, if the fixes or stable tag are missing,
it usually requires some investigation by stable maintainer
as to why.

The fixes tag of the originating release, if present, is
contained at the end of the line. Otherwise there is an (N/A).

When there are a large amount of commits, adding an aligned column
indicating the presence of a fixes tag beside the stable one makes
it easier to quickly see the patches requiring further investigation.

e.g.
20.02 8f33cbcfa S F net/i40e/base: fix buffer address (16.04)
20.02 4b3da9415 S F net/i40e/base: fix error message (1.7.0)
20.02 1da546c39 - F net/i40e/base: fix missing link modes (17.08)
20.02 79bfe7808 S F net/i40e/base: fix Tx descriptors number (1.7.0)
20.02 50126939c - F net/i40e/base: fix retrying logic (18.02)
20.02 dcd05da0a S F app/testpmd: fix GENEVE flow item (18.02)
20.02 b0b9fdad2 S - net/bnx2x: support secondary process (N/A)
20.02 f8279f47d S F net/netvsc: fix crash in secondary process (18.08)

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>

---

Not sure if anyone else is relying on this script and changing the
output will break something for them? If it is not ok to make this
change now, I will add a note and re-submit for 20.05.
---
 devtools/git-log-fixes.sh | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh
index e37ee2260..6d468d673 100755
--- a/devtools/git-log-fixes.sh
+++ b/devtools/git-log-fixes.sh
@@ -95,9 +95,21 @@ stable_tag () # <hash>
 }
 
+# print a marker for fixes tag presence
+fixes_tag () # <hash>
+{
+        if git log --format='%b' -1 $1 | grep -qi '^Fixes: *' ; then
+                echo 'F'
+        else
+                echo '-'
+        fi
+}
+
 git log --oneline --reverse $range |
 while read id headline ; do
 	origins=$(origin_filter $id)
 	stable=$(stable_tag $id)
-	[ "$stable" = "S" ] || [ -n "$origins" ] || echo "$headline" | grep -q fix || continue
+	fixes=$(fixes_tag $id)
+	[ "$stable" = "S" ] || [ "$fixes" = "F" ] || [ -n "$origins" ] || \
+		echo "$headline" | grep -q fix || continue
 	version=$(commit_version $id)
 	if [ -n "$origins" ] ; then
@@ -109,4 +121,4 @@ while read id headline ; do
 		origver='N/A'
 	fi
-	printf '%s %7s %s %s (%s)\n' $version $id $stable "$headline" "$origver"
+	printf '%s %7s %s %s %s (%s)\n' $version $id $stable $fixes "$headline" "$origver"
 done
-- 
2.21.1



More information about the dev mailing list