[v2] devtools: add fixes column to git-log-fixes

Message ID 20200203155955.3949-1-ktraynor@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] devtools: add fixes column to git-log-fixes |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-testing success Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-nxp-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Kevin Traynor Feb. 3, 2020, 3:59 p.m. UTC
  During backporting, if the fixes or stable tag are missing,
it usually requires some investigation by stable maintainer
as to why.

The presence of a fixes tag may be known from whether the
originating release of the issue is printed at the end of the
line but with variable line lengths and nested partial fixes
it doesn't catch the eye.

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@redhat.com>

---
v2: reword commit msg

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(-)
  

Comments

Thomas Monjalon Feb. 25, 2020, 4:20 p.m. UTC | #1
03/02/2020 16:59, Kevin Traynor:
> During backporting, if the fixes or stable tag are missing,
> it usually requires some investigation by stable maintainer
> as to why.
> 
> The presence of a fixes tag may be known from whether the
> originating release of the issue is printed at the end of the
> line but with variable line lengths and nested partial fixes
> it doesn't catch the eye.
> 
> 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@redhat.com>

Looks nice.
Applied, thanks
  

Patch

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