[v2] devtools: add fixes column to git-log-fixes
Checks
Commit Message
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
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
@@ -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