lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 02 Mar 2016 19:32:30 -0800
From:	Joe Perches <joe@...ches.com>
To:	Jianyu Zhan <nasa4836@...il.com>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: about get_maintainer.pl not showing the original author of the
 modified code

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@...utronix.de> (commit_signer:20/19=100%,authored:7/19=37%,added_lines:73/248=29%,removed_lines:38/119=32%)
Peter Zijlstra <peterz@...radead.org> (commit_signer:3/19=16%,authored:1/19=5%)
Andrew Morton <akpm@...ux-foundation.org> (commit_signer:3/19=16%,modified commits:2/3=67%)
Davidlohr Bueso <dave@...olabs.net> (commit_signer:3/19=16%,authored:3/19=16%,added_lines:113/248=46%,removed_lines:20/119=17%)
Ingo Molnar <mingo@...nel.org> (commit_signer:2/19=11%,modified commits:2/3=67%)
Dominik Dingel <dingel@...ux.vnet.ibm.com> (authored:1/19=5%)
Jann Horn <jann@...jh.net> (authored:1/19=5%)
Sebastian Andrzej Siewior <bigeasy@...utronix.de> (added_lines:29/248=12%)
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com> (added_lines:14/248=6%,removed_lines:49/119=41%)
Darren Hart <dvhart@...ux.intel.com> (modified commits:1/3=33%)
Stephen Hemminger <shemminger@...ux-foundation.org> (modified commits:1/3=33%)
Christian Borntraeger <borntrae@...ibm.com> (modified commits:1/3=33%)
linux-kernel@...r.kernel.org (open list)

vs

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ