On Fri, 2018-11-16 at 14:44 +0200, Jani Nikula wrote:
I quickly cooked up this script to produce the top-5 commit prefixes
for
the given files over the arbitrary last 200 commits. It'll give you a
pretty good idea if you're even close.
---
#!/bin/sh
# usage: subject-prefix FILE [...]
# show top 5 subject prefixes for FILEs
git log --format=%s -n 200 -- "$@" |\
grep -v "^Merge " |\
sed 's/\(.*\):.*/\1/' |\
sort | uniq -c | sort -nr | sed 's/ *[0-9]\+ //' |\
head -n 5
---
Someone who knows perl could turn that into a checkpatch check: See if
the patch subject prefix is one of the top-5 for all files changed by
the patch, and ask the user to double check if it isn't. Or some
heuristics thereof.
This won't work when a patch contains multiple files
from different paths, or even multiple files from a
single driver.
Perhaps it's better to use a generic mechanism like
basename $(dirname $filename):
with some exceptions and add an override patch subject
grammar to appropriate various sections of MAINTAINERS.
I also think it's better to use a separate script like
scripts/spdxcheck.py and tie any necessary checkpatch
use to that script.