lkml.org 
[lkml]   [2016]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: about get_maintainer.pl not showing the original author of the modified code
From
Date
On Thu, 2016-03-03 at 11:00 +0800, Jianyu Zhan wrote:
> Hi, Joe,
>
> recently in this patch https://lkml.org/lkml/2016/3/2/281,
>
> I found the original author of the modified code was not
> suggested as a patch reviewer.
>
> This surprised me at first.  But later I realized that it is not trivial
> to define "original author", since the last modification might be
> just code polishing.  To dig out the original author, we might need
> go up the commit history and git must be equipped with ability of pattern
> recognization to analyze code.
>
> What do you think?

There are many options to the get_maintainer script.
You can see all of them with "./scripts/get_maintainer.pl --help"

Many are not enabled because run-time can be very long as
running various git commands can take awhile to complete.

$ ./scripts/get_maintainer.pl --git-blame <patch|-f <file>>

with your patch get_maintainer.pl and --git-blame gives:

$ ./scripts/get_maintainer.pl ~/1.diff --git-blame
Thomas Gleixner <tglx@linutronix.de> (commit_signer:20/19=100%,authored:7/19=37%,added_lines:73/248=29%,removed_lines:38/119=32%)
Peter Zijlstra <peterz@infradead.org> (commit_signer:3/19=16%,authored:1/19=5%)
Andrew Morton <akpm@linux-foundation.org> (commit_signer:3/19=16%,modified commits:2/3=67%)
Davidlohr Bueso <dave@stgolabs.net> (commit_signer:3/19=16%,authored:3/19=16%,added_lines:113/248=46%,removed_lines:20/119=17%)
Ingo Molnar <mingo@kernel.org> (commit_signer:2/19=11%,modified commits:2/3=67%)
Dominik Dingel <dingel@linux.vnet.ibm.com> (authored:1/19=5%)
Jann Horn <jann@thejh.net> (authored:1/19=5%)
Sebastian Andrzej Siewior <bigeasy@linutronix.de> (added_lines:29/248=12%)
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> (added_lines:14/248=6%,removed_lines:49/119=41%)
Darren Hart <dvhart@linux.intel.com> (modified commits:1/3=33%)
Stephen Hemminger <shemminger@linux-foundation.org> (modified commits:1/3=33%)
Christian Borntraeger <borntrae@de.ibm.com> (modified commits:1/3=33%)
linux-kernel@vger.kernel.org (open list)

vs

$ ./scripts/get_maintainer.pl ~/1.diff
Thomas Gleixner <tglx@linutronix.de> (commit_signer:20/19=100%,authored:7/19=37%,added_lines:73/248=29%,removed_lines:38/119=32%)
Davidlohr Bueso <dave@stgolabs.net> (commit_signer:3/19=16%,authored:3/19=16%,added_lines:113/248=46%,removed_lines:20/119=17%)
Peter Zijlstra <peterz@infradead.org> (commit_signer:3/19=16%)
Andrew Morton <akpm@linux-foundation.org> (commit_signer:3/19=16%)
Ingo Molnar <mingo@kernel.org> (commit_signer:2/19=11%)
Rasmus Villemoes <linux@rasmusvillemoes.dk> (authored:1/19=5%)
Darren Hart <dvhart@linux.intel.com> (authored:1/19=5%)
kbuild test robot <fengguang.wu@intel.com> (authored:1/19=5%)
Sebastian Andrzej Siewior <bigeasy@linutronix.de> (added_lines:29/248=12%)
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> (added_lines:14/248=6%,removed_lines:49/119=41%)

running git blame alone gives:

$ git blame -L1927,+8 kernel/futex.c
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1927) 
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1928)         /* In the common case we don't take the spinlock, which is nice. */
42d35d48 (Darren Hart           2008-12-29 15:49:53 -0800 1929) retry:
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1930)         lock_ptr = q->lock_ptr;
e91467ec (Christian Borntraeger 2006-08-05 12:13:52 -0700 1931)         barrier();
c80544dc (Stephen Hemminger     2007-10-18 03:07:05 -0700 1932)         if (lock_ptr != NULL) {
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1933)                 spin_lock(lock_ptr);
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1934)                 /*

with whitespace ignored, it gives:

$ git blame -w -L1927,+8 kernel/futex.c 
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1927) 
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1928)         /* In the common case we don't take the spinlock, which is nice. */
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1929) retry:
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1930)         lock_ptr = q->lock_ptr;
e91467ec (Christian Borntraeger 2006-08-05 12:13:52 -0700 1931)         barrier();
c80544dc (Stephen Hemminger     2007-10-18 03:07:05 -0700 1932)         if (lock_ptr != NULL) {
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1933)                 spin_lock(lock_ptr);
^1da177e (Linus Torvalds        2005-04-16 15:20:36 -0700 1934)                 /*

so there's an argument that get_maintainer.pl should by default
ignore whitespace changes.

\
 
 \ /
  Last update: 2016-03-03 05:01    [W:1.257 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site