Re: [PATCH] scripts/get_maintainer.pl: Add --git-blame --rolestats "Authored lines" information

Joe Perches
2010-09-11T10:22:19Z

On Sat, 2010-09-11 at 12:02 +0200, Florian Mickler wrote:
> On Sat, 11 Sep 2010 02:52:30 -0700
> Joe Perches <joe@perches.com> wrote:
>
> > On Sat, 2010-09-11 at 11:38 +0200, Florian Mickler wrote:
> > > On Fri, 10 Sep 2010 17:22:21 -0700
> > > Joe Perches <joe@perches.com> wrote:
> > > > > > Something based on percentage of the driver written rather than log
> > > > > > entry counts might also be interesting.
> > > > > There is a --git-blame option, but it uses a count of file commits
> > > > > active in the file rather than % of lines authored.
> > > > When options --git-blame and --rolestats are specified, add
> > > > the maintainers with the qualifying --git-min-percent amount
> > > > of lines authored of the complete file. Does not add more
> > > > authors than specified by --git-max-maintainers.
> > > > For anyone using hg, this option works but is _very_ slow.
> > > > It's orders of magnitude slower than git slow.
> > > > The get_maintainer.pl version was incremented to 0.25.
> > > > This can be used with or without --git.
> > > I think this is a good change. I also think this should be made
> > > default. (linestat is probably more of a hint then nr of commits.
> >
> > It's OK but make it default? No.
> >
> > It's slower. A lot slower.
> > git blame takes a very long time. It can take minutes.
> > If you're using hg, it can take a lot more than that.
> >
> > Run it on something like MAINTAINERS or a largish
> > active driver and see.
>
> Point taken.
>
> > It also doesn't favor recent changes and newer, active
> > authors. It also can overemphasis submitters that are
> > no longer active.
> >
> >
> But at least there is a reason to cc the guy. He wrote it after all.

That's why you might have an option to find the
first submitter.

The equivalent of:

git log --reverse --pretty="%an <%ae>" filename | head -1

Unfortunately, for anything in the tree older than 2.6.12
that shows Linus Torvalds at a no longer current address.

$ git log --reverse --pretty="%an <%ae>" kernel/sched.c | head -1
Linus Torvalds <torvalds@ppc970.osdl.org>