lkml.org 
[lkml]   [2008]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: whomto.pl -- finding out whom to send patches to
    Vegard Nossum schreef:
    > Hi,
    >
    > I've written this perl script that takes a patch as input and prints the
    > authors/committers of the affected lines, using git-blame as the back end.
    >
    > (The purpose of this is of course to find out whom to send patches to.)
    >
    > There are some caveats:
    >
    > - If I've understood correctly, git-blame incremental output doesn't split
    > commits when a newer one is found, so we currently possibly take into
    > account more than just the last patch to touch a line. This might not be
    > a disadvantage, however...
    >
    > - The patch must apply to the current working tree. I suppose there is
    > some way to use the index information in the patch to determine what to
    > run git-blame against, but this is currently beyond my git knowledge.
    >
    > - It's a bit slow, particularly for large files. But doing the same thing
    > by hand would be slower, so I suppose it's an overall improvement.
    >
    > Running this on a random -mm patch, for example
    > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.26-rc2/2.6.26-rc2-mm1/broken-out/acpi-fix-fadt-parsing.patch
    > gives the following output:
    >
    > $ perl whomto2.pl acpi-fix-fadt-parsing.patch
    > Running git-blame on drivers/acpi/tables/tbfadt.c...
    >
    > To: (Committers)
    > 48 Len Brown <len.brown@intel.com>
    > Cc: (Authors)
    > 44 Bob Moore <robert.moore@intel.com>
    > 2 Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
    > 2 Len Brown <len.brown@intel.com>
    >
    > Maybe this tool can be useful? :-)
    >
    > (Improvements are of course also welcome.)
    >
    >
    > Vegard

    Based on Linus' script to get the email address of a maintainer, I wrote
    this bash script to get
    an indication of relevant lists. Maybe you can make use of the part that
    parses the
    MAINTAINERS file for relevant lists?

    ---

    git log --since="1 year ago" "$@" | sed -n "s/^ .[-a-z]*by: \(.*\) <.*$/\1/p" |
    sort | uniq | sort -n -r | while read -r name; do
    sed -n "/^P:[ \t]*.*$name/,/^$/{
    s/^L:[ \t]*\(.*\)$/\1/p
    }" ./MAINTAINERS
    done | sort | uniq -c | sort -n -r | while read -r nr list; do
    tot=`grep -c "^L:\W*.*$list.*" ./MAINTAINERS`
    echo "`expr $nr / \( $tot + 1 \)` $nr $tot $list"
    done | sort -r | cut -d " " -f2- | while read -r nr tot list; do
    echo -e "$nr/$tot Acks were commited by maintainers of list $list"
    done




    \
     
     \ /
      Last update: 2008-05-30 11:33    [W:0.029 / U:65.748 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site