From d448efa259e98e83243b55c680070b739031fcad Mon Sep 17 00:00:00 2001 From: Sean Morrissey Date: Mon, 24 Feb 2020 15:30:01 +0000 Subject: [PATCH] devtools: export dictionary for commit title check Moved title syntax to a separate file so that it improves code readability and allows easy addition. Also logic changed from checking for bad pattern to checking good pattern which documents the expected syntax more clearly, and does not have gaps in the checks. Signed-off-by: Sean Morrissey Signed-off-by: Ferruh Yigit --- MAINTAINERS | 1 + devtools/check-git-log.sh | 69 +++++++++------------------------------ devtools/words-case.txt | 47 ++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 53 deletions(-) create mode 100644 devtools/words-case.txt diff --git a/MAINTAINERS b/MAINTAINERS index 1886b18c38..f4e0ed8e05 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -103,6 +103,7 @@ F: devtools/git-log-fixes.sh F: devtools/load-devel-config F: devtools/test-build.sh F: devtools/test-meson-builds.sh +F: devtools/words-case.txt F: license/ F: .editorconfig diff --git a/devtools/check-git-log.sh b/devtools/check-git-log.sh index f9d0550393..4e65be0e4b 100755 --- a/devtools/check-git-log.sh +++ b/devtools/check-git-log.sh @@ -83,57 +83,22 @@ bad=$(echo "$headlines" | grep --color=always \ | sed 's,^,\t,') [ -z "$bad" ] || printf "Wrong headline uppercase:\n$bad\n" -# check headline uppercase (Rx/Tx, VF, L2, MAC, Linux, ARM...) -bad=$(echo "$headlines" | grep -E --color=always \ - -e ':.*\<(rx|tx|RX|TX)\>' \ - -e ':.*\<[pv]f\>' \ - -e ':.*\<[hsf]w\>' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\<(Aarch64|AArch64|AARCH64|Aarch32|AArch32|AARCH32)\>' \ - -e ':.*\<(Armv7|ARMv7|ArmV7|armV7|ARMV7)\>' \ - -e ':.*\<(Armv8|ARMv8|ArmV8|armV8|ARMV8)\>' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\' \ - -e ':.*\<[Vv]lan\>' \ - -e ':.*\' \ - -e ':.*\' \ - | grep \ - -v ':.*\' \ - | sed 's,^,\t,') -[ -z "$bad" ] || printf "Wrong headline lowercase:\n$bad\n" - -# special case check for VMDq to give good error message -bad=$(echo "$headlines" | grep -E --color=always \ - -e '\<(vmdq|VMDQ)\>' \ - | sed 's,^,\t,') -[ -z "$bad" ] || printf "Wrong headline capitalization, use 'VMDq':\n$bad\n" +# check headline case (Rx/Tx, VF, L2, MAC, Linux ...) +IFS=' +' +words="$selfdir/words-case.txt" +for word in $(cat $words); do + bad=$(echo "$headlines" | grep -iw $word | grep -v $word) + if [ "$word" = "Tx" ]; then + bad=$(echo $bad | grep -v 'OCTEON\ TX') + fi + for bad_line in $bad; do + bad_word=$(echo $bad_line | cut -d":" -f2 | grep -io $word) + if [ -n "$bad_word" ]; then + printf "Wrong headline case:\n\"$bad_line\": $bad_word --> $word\n" + fi + done +done # check headline length (60 max) bad=$(echo "$headlines" | @@ -187,8 +152,6 @@ done) [ -z "$bad" ] || printf "Missing 'Fixes' tag:\n$bad\n" # check Fixes: reference -IFS=' -' fixtags=$(echo "$tags" | grep '^Fixes: ') bad=$(for fixtag in $fixtags ; do hash=$(echo "$fixtag" | sed 's,^Fixes: \([0-9a-f]*\).*,\1,') diff --git a/devtools/words-case.txt b/devtools/words-case.txt new file mode 100644 index 0000000000..6bfb81985e --- /dev/null +++ b/devtools/words-case.txt @@ -0,0 +1,47 @@ +aarch32 +aarch64 +API +Arm +armv7 +armv8 +CRC +DCB +DMA +EEPROM +FreeBSD +FW +HW +IOVA +L2 +L3 +L4 +LACP +Linux +LRO +LSC +MAC +MSS +MTU +NIC +NUMA +NVM +PCI +PF +PHY +PMD +RETA +RSS +Rx +SCTP +SW +TOS +TPID +TSO +TTL +Tx +UDP +vDPA +VF +VLAN +VMDq +VSI -- 2.20.1