devtools: add fixes flag to commit listing

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>
This commit is contained in:
Kevin Traynor 2020-02-03 15:59:55 +00:00 committed by Thomas Monjalon
parent 3d91e097a3
commit 8070d8fecb

View file

@ -94,11 +94,23 @@ stable_tag () # <hash>
fi
}
# 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
origver="$(origin_version $origins)"
@ -108,5 +120,5 @@ while read id headline ; do
else
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