[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <483FC90E.3020404@gmail.com>
Date: Fri, 30 May 2008 11:29:50 +0200
From: Roel <roel.kluin@...il.com>
To: Vegard Nossum <vegard.nossum@...il.com>
CC: linux-kernel@...r.kernel.org,
Jan Engelhardt <jengelh@...putergmbh.de>,
Sverre Rabbelier <alturin@...il.com>,
Joe Perches <joe@...ches.com>, git@...r.kernel.org
Subject: Re: 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@...el.com>
> Cc: (Authors)
> 44 Bob Moore <robert.moore@...el.com>
> 2 Alexey Starikovskiy <alexey.y.starikovskiy@...ux.intel.com>
> 2 Len Brown <len.brown@...el.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists