On Mon, 2020-09-28 at 19:11 +0200, Julia Lawall wrote:
> 
> On Mon, 28 Sep 2020, Joe Perches wrote:
> 
> > On Sun, 2020-09-27 at 21:12 +0200, Julia Lawall wrote:
> > > Replace commas with semicolons.  What is done is essentially described by
> > > the following Coccinelle semantic patch (http://coccinelle.lip6.fr/):
> > 
> > Hi Julia.
> > 
> > How did you decide on this patch subject header line?
> > 
> > It's certainly reasonable, but not what I would expect
> > from any automation.
> 
> Most of the patches on this file touch other files as well.  There are
> four that only touch this file.  One has no subsystem.  One has dma as the
> subsystem.  Two have pata_icside, so that was chosen.

So did you select the patch subject without any automation
or did you create a tool that looks only at commits for
individual files?

> > $ git log --no-merges --format='%s' drivers/ata/pata_icside.c | \
> >   cut -f1 -d":" | sort | uniq -c | sort -rn
> >      10 libata
> >       5 libata-sff
> >       2 [ARM] pata_icside
> >       2 [ARM] ecard
> >       2 [ARM] dma

Yeah...

Something like the script below and some examples of its use?

$ cat find_best_header.sh
#!/bin/bash

# Show possible patch subject prefixes for a file in git

# use commits that modify only the single file argument and
# emit up to the 5 most common commit prefixes

git log --no-merges --format='%h' -- $1 |
    while read commit ; do
        if [[ $(git log --format='%h' --name-only -1 $commit | wc -l) == 3 ]] ; 
then
            git log --format='%s' -1 $commit
        fi
    done |
    cut -f1 -d":" | cut -f1-3 -d" " | sort | uniq -c | sort -rn | head -5

$ ./find_best_header.sh drivers/ata/pata_icside.c
      2 [ARM] pata_icside
      1 Fix pata_icside build
      1 [ARM] dma

$ ./find_best_header.sh kernel/fork.c
     36 fork
     14 kernel/fork.c
      6 mm
      4 pidns
      4 [PATCH] unshare system

$ ./find_best_header.sh kernel/sched/core.c
    150 sched
    110 sched/core
     12 sched/uclamp
     12 sched/debug
     10 sched/deadline

$ ./find_best_header.sh drivers/iio/pressure/mpl115.c
      3 iio


Reply via email to