From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp2.linuxfoundation.org (smtp2.linux-foundation.org [172.17.192.36]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 1D04C4A6 for ; Fri, 16 Nov 2018 17:57:10 +0000 (UTC) Received: from smtprelay.hostedemail.com (smtprelay0207.hostedemail.com [216.40.44.207]) by smtp2.linuxfoundation.org (Postfix) with ESMTPS id A62371DD21 for ; Fri, 16 Nov 2018 17:57:09 +0000 (UTC) Message-ID: From: Joe Perches To: Jani Nikula , Julia Lawall , Geert Uytterhoeven Date: Fri, 16 Nov 2018 09:56:59 -0800 In-Reply-To: <878t1tgpk8.fsf@intel.com> References: <154225759358.2499188.15268218778137905050.stgit@dwillia2-desk3.amr.corp.intel.com> <154225760492.2499188.14152986544451112930.stgit@dwillia2-desk3.amr.corp.intel.com> <878t1tgpk8.fsf@intel.com> Content-Type: text/plain; charset="ISO-8859-1" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Cc: ksummit-discuss@lists.linuxfoundation.org, "linux-nvdimm@lists.01.org" , vishal.l.verma@intel.com, Linux Kernel Mailing List , Dmitry Vyukov , Greg KH , Mauro Carvalho Chehab , stfrench@microsoft.com, "Tobin C. Harding" Subject: Re: [Ksummit-discuss] [RFC PATCH 2/3] MAINTAINERS, Handbook: Subsystem Profile List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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.