Skip to content
Snippets Groups Projects
  1. May 25, 2010
    • Florian Mickler's avatar
      scripts/get_maintainer.pl: default to not include unspecified tags · 0fa05599
      Florian Mickler authored
      
      This changes the default of the option --git-all-signature-types to be
      disabled by default.
      
      The effect being, that only certain (currently Signed-Off-By:, Acked-by:
      and Reviewed-By:) tags are used to get adresses of potential maintainers.
      
      Motivated is this change by the desire to not 'spam' people unnecessary: A
      Tested-By or a Reported-By is not ment as a hint that those people want
      to/are able to review patches to the code in question.
      
      In a quest to find resilient statistics for this i came up with this:
      
      I produced a list of all the tag-signers not already covered with a
      signed-off/acked/reviewed tag somewhere in the last year of git history.
      
      Those were 650 addresses of "assumed non-developers".
      
      And to check if those "assumed non-developers" are professional
      testers/reporters worth cc'ing, i then counted their total appearences
      in the git log:
      
      469 were mentioned only once.
      123 were mentioned twice.
      38 three times
      8 four times
      5 six times
      5 five times
      1 eight times
      1 fourteen times
      
      I believe this supports my thesis, that the ''non-maintainer-tags'' are
      not actively useful for patch-review.  (except probably the guy mentioned
      fourteen times...)
      
      But of course one could also find arguments to poke holes in this
      statistics, for example does this statistic not include code-locality: A
      tested-by on a patch that touches some specific piece of code can be more
      worth than a signed-off in another part of the tree.
      
      But...  let's play it safe and let's err on the "safe" side meaning to not
      spam those people when in doubt.  We already have the signed-off's and
      Maintainers file.  So this should be ok.  And if need be, the maintainers
      can always forward the patch.
      
      [i probably could make a diploma thesis out of this changelog :)]
      
      Signed-off-by: default avatarFlorian Mickler <florian@mickler.org>
      Acked-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Cc: Joe Perches <joe@perches.com>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0fa05599
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add .get_maintainer.conf default options file · 368669da
      Joe Perches authored
      
      Allow the use of a .get_maintainer.conf file to control the default
      options applied when scripts/get_maintainer.pl is run.
      
      .get_maintainer.conf can contain any valid command-line argument.
      
      File contents are prepended to any additional command line arguments.
      
      Multiple lines may be used, blank lines ignored, # is a comment.
      
      Updated scripts/get_maintainer.pl version to 0.24
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Reviewed-by: default avatarFlorian Mickler <florian@mickler.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      368669da
    • Joe Perches's avatar
      scripts/get_maintainer.pl: optionally ignore non-maintainer signatures · e4d26b02
      Joe Perches authored
      
      When using --git to determine who to send a patch to, get_maintainers will
      currently include all signatures.  This can include signers that simply
      report an issue or test a patch.  Signers that use this tag are not
      necessarily good candidates to review new patches.
      
      This patch allows get_maintainers to optionally restrict output to only
      signatures that use Signed-off-by:, Acked-by:, or Reviewed-by:.
      
      Signed-off-by: is included because those are people who are responsible
      for the code.
      
      Acked-by: is questionable, but as signers that use this tag tend to be
      active linux gatekeepers, false positives are tolerable.
      
      Reviewed-by: is included because signers responsible for the code thought
      that the review feedback for a changeset by that signer was valuable.
      
      This patch has been modified from Florian's original submission to change
      the supported signature types to the canonical forms and use slightly
      different spacing.  A couple of spacing issues were also corrected in the
      original source.  The command line argument was also renamed.
      
      Original-patch-by: default avatarFlorian Mickler <florian@mickler.org>
      Signed-off-by: default avatarFlorian Mickler <florian@mickler.org>
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e4d26b02
  2. Mar 24, 2010
  3. Mar 06, 2010
  4. Feb 03, 2010
  5. Jan 11, 2010
  6. Dec 15, 2009
    • Joe Perches's avatar
      scripts/get_maintainer.pl: support multiple VCSs - add mercurial · 60db31ac
      Joe Perches authored
      
      Restructure a bit for multiple version control systems support.
      
      Use a hash for each supported VCS that contains the commands
      and patterns used to find commits, logs, and signers.
      
      --git command line options are still used for hg except for
      --git-since.  Use --hg-since instead.
      
      The number of commits can differ for git and hg, so --rolestats
      might be different.
      
      Style changes: Use common push style push(@foo...), simplify a return
      
      Bumped version to 0.23.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Marti Raudsepp <marti@juffo.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      60db31ac
    • Joe Perches's avatar
      scripts/get_maintainer.pl: fix --non with --git-blame and cleanups · a8af2430
      Joe Perches authored
      
      Fix email matching without name --n and --git-blame
         Using --non and --git-blame caused maintainer signature
         matching to fail.  Fixed that by adding 3rd argument to
         sub format_email to control show/hide name portion of address
      Slurp -f file instead of reading line-by-line for K: pattern matching.
         Suggested by Wolfram Sang as more efficient
      Refactor git command execution
         Break into 2 functions, execute/analyze
         Share code between --git and --git-blame
         Don't warn multiple times when git isn't installed
      Improve stats reporting
         --git-min-percent and -- rolestats now count the total number of commits
         for either the period of --git-since or if using --git-blame the commits
         used by the current file and calculate commit % as
            # of commits signed / total commits * 100
      Code style cleaning
         Use consistent sub foo { my (args...) = @_;
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Wolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a8af2430
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add --roles and --rolestats · 3c7385b8
      Joe Perches authored
      
      --roles shows the role of each email address, i.e. why it was selected.
      --rolestats selects --roles and adds git log/blame signers #'s and %
      
      Multiple roles are possible (supporter, maintainer, git-signer...)
      
      --roles or --rolestats is meant to help identify appropriate maintainers
      to notify and should not be used with "git send-email --cc-cmd"
      
      Example output:
      
      Existing:
      
      $ ./scripts/get_maintainer.pl -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net>
      Karol Kozimor <sziwan@users.sourceforge.net>
      Len Brown <len.brown@intel.com>
      Pavel Machek <pavel@ucw.cz>
      Rafael J. Wysocki <rjw@sisk.pl>
      Thomas Gleixner <tglx@linutronix.de>
      Ingo Molnar <mingo@redhat.com>
      H. Peter Anvin <hpa@zytor.com>
      x86@kernel.org
      Yinghai Lu <yhlu.kernel@gmail.com>
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      acpi4asus-user@lists.sourceforge.net
      linux-pm@lists.linux-foundation.org
      linux-kernel@vger.kernel.org
      
      With --roles
      
      $ ./scripts/get_maintainer.pl --roles -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      With --rolestats
      
      $ ./scripts/get_maintainer.pl --rolestats -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer:16/79=20%)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer:12/79=15%)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer:6/79=8%)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      With --rolestats and --git-blame
      
      $ ./scripts/get_maintainer.pl --rolestats --git-blame -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer:16/79=20%,commits:22/154=14%)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%,commits:36/154=23%)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer:12/79=15%,commits:9/154=6%)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer:6/79=8%)
      Andi Kleen <ak@suse.de> (commits:11/154=7%)
      Andrew Morton <akpm@osdl.org> (commits:10/154=6%)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      Other changes:
      
      Format git-signers email addresses a bit to reduce bad signatures
      Command line bad arguments emitted a verbose usage(), just show --help
      Version number bumped to .22
      
      Ben Hutchings had the idea and created a good deal of this implementation.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3c7385b8
  7. Nov 12, 2009
  8. Oct 29, 2009
  9. Sep 22, 2009
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add maintainers in order listed in matched section · b781655a
      Joe Perches authored
      
      Previous behavior was "bottom-up" in each section from the pattern "F:"
      entry that matched.  Now information is entered into the various lists in
      the "as entered" order for each matched section.
      
      This also allows the F: entry to be put anywhere in a section, not just as
      the last entries in the section.
      
      And a couple of improvements:
      
      Don't alphabetically sort before outputting the matched scm, status,
      subsystem and web sections.
      
      Ignore content after a single email address so these entries are acceptable
      M:	name <address> whatever other comment
      
      And a fix:
      
      Make an M: entry without a name again use the name from an immediately
      preceding P: line if it exists.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b781655a
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add --remove-duplicates · 11ecf53c
      Joe Perches authored
      
      Allow control over the elimination of duplicate email names and addresses
      
      --remove-duplicates will use the first email name or address presented
      --noremove-duplicates will emit all names and addresses
      
      --remove-duplicates is enabled by default
      
      For instance:
      
      $ ./scripts/get_maintainer.pl -f drivers/char/tty_ioctl.c
      Greg Kroah-Hartman <gregkh@suse.de>
      Alan Cox <alan@linux.intel.com>
      Mike Frysinger <vapier@gentoo.org>
      Alexey Dobriyan <adobriyan@gmail.com>
      linux-kernel@vger.kernel.org
      
      $ ./scripts/get_maintainer.pl -f --noremove-duplicates drivers/char/tty_ioctl.c
      Greg Kroah-Hartman <gregkh@suse.de>
      Alan Cox <alan@redhat.com>
      Alan Cox <alan@linux.intel.com>
      Alan Cox <alan@lxorguk.ukuu.org.uk>
      Mike Frysinger <vapier@gentoo.org>
      Alexey Dobriyan <adobriyan@gmail.com>
      linux-kernel@vger.kernel.org
      
      Using --remove-duplicates could eliminate multiple maintainers that
      share the same name but not the same email address.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11ecf53c
    • Joe Perches's avatar
      scripts/get_maintainer.pl: using --separator implies --nomultiline · 42498316
      Joe Perches authored
      
      If a person sets a separator, it's only used if --nomultiline is set.
      Don't make the command line also include --nomultiline in that case.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      42498316
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add .mailmap use, shell and email cleanups · 8cbb3a77
      Joe Perches authored
      
      Add reading and using .mailmap file if it exists
      Convert address entries in .mailmap to first encountered address
      Don't terminate shell commands with \n
      Strip characters found after sign-offs by: name <address> [stripped]
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8cbb3a77
    • Joe Perches's avatar
      scripts/get_maintainer.pl: better email routines, use perl not shell where possible · 0e70e83d
      Joe Perches authored
      
      Added format_email and parse_email routines to reduce inline use.
      
      Added email_address_inuse to eliminate multiple maintainer entries
      for the same email address, the first name encountered is used.
      
      Used internal perl equivalents of shell cmd use of grep|cut|sort|uniq
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0e70e83d
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add --pattern-depth · 3fb55652
      Joe Perches authored
      
      --pattern-depth is used to control how many levels of directory traversal
      should be performed to find maintainers.  default is 0 (all directory levels).
      
      For instance:
      
      MAINTAINERS currently has multiple M: and F: entries that match
      net/netfilter/ipvs/ip_vs_app.c
      
      IPVS
      M:	Wensong Zhang <wensong@linux-vs.org>
      M:	Simon Horman <horms@verge.net.au>
      M:	Julian Anastasov <ja@ssi.bg>
      [...]
      F:	net/netfilter/ipvs/
      
      NETFILTER/IPTABLES/IPCHAINS
      [...]
      M:	Patrick McHardy <kaber@trash.net>
      [...]
      F:	net/netfilter/
      
      NETWORKING [GENERAL]
      M:	"David S. Miller" <davem@davemloft.net>
      [...]
      F:	net/
      
      THE REST
      M:	Linus Torvalds <torvalds@linux-foundation.org>
      [...]
      F:	*/
      
      Using this command will return all of those maintainers:
      (except Linus unless --git-chief-maintainers is specified)
      
      $ ./scripts/get_maintainer.pl --nogit -nol \
      	-f net/netfilter/ipvs/ip_vs_app.c
      Julian Anastasov <ja@ssi.bg>
      Simon Horman <horms@verge.net.au>
      Wensong Zhang <wensong@linux-vs.org>
      Patrick McHardy <kaber@trash.net>
      David S. Miller <davem@davemloft.net>
      
      Adding --pattern-depth=1 will match at the deepest level
      $ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth=1 \
      	-f net/netfilter/ipvs/ip_vs_app.c
      Julian Anastasov <ja@ssi.bg>
      Simon Horman <horms@verge.net.au>
      Wensong Zhang <wensong@linux-vs.org>
      
      Adding --pattern-depth=2 will match at the deepest level and 1 higher
      $ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth=2 \
      	-f net/netfilter/ipvs/ip_vs_app.c
      Julian Anastasov <ja@ssi.bg>
      Simon Horman <horms@verge.net.au>
      Wensong Zhang <wensong@linux-vs.org>
      Patrick McHardy <kaber@trash.net>
      
      and so on.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3fb55652
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add sections in pattern match depth order · 1d606b4e
      Joe Perches authored
      
      Before this change, matched sections were added in the order
      of appearance in the normally alphabetic section order of
      the MAINTAINERS file.
      
      For instance, finding the maintainer for drivers/scsi/wd7000.c
      would first find "SCSI SUBSYSTEM", then "WD7000 SCSI SUBSYSTEM",
      then "THE REST".
      
      before patch:
      
      $ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c
      James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
      Miroslav Zagorac <zaga@fly.cc.fer.hr>
      linux-scsi@vger.kernel.org
      linux-kernel@vger.kernel.org
      
      get_maintainer.pl now selects matched sections by longest pattern match.
      Longest is the number of "/"s and any specific file pattern.
      
      This changes the example output order of MAINTAINERS to whatever is
      selected in "WD7000 SUBSYSTEM", then "SCSI SYSTEM", then "THE REST".
      
      after patch:
      
      $ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c
      Miroslav Zagorac <zaga@fly.cc.fer.hr>
      James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
      linux-scsi@vger.kernel.org
      linux-kernel@vger.kernel.org
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1d606b4e
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add --git-blame · f5492666
      Joe Perches authored
      Julia Lawall suggested that get_maintainers.pl should have the
      ability to include signatories of commits that are modified by
      a particular patch.
      
      Vegard Nossum did something similar once.
      http://lkml.org/lkml/2008/5/29/449
      
      
      
      The modified script looks the commits for all lines in the
      patch, and includes the "-by:" signatories for those commits.
      It uses the same git-min-percent, git-max-maintainers, and
      git-min-signatures options.  git-since is ignored.
      
      It can be used independently from the --git default, so
              ./scripts/get_maintainers.pl --nogit --git-blame <patch>
      or
              ./scripts/get_maintainers.pl --nogit --git-blame -f <file>
      is acceptable.
      
      If used with -f <file>, all lines/commits for the file are
      checked.
      
      --git-blame can be slow if used with -f <file>
      --git-blame does not work with -f <directory>
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f5492666
  10. Jul 30, 2009
  11. Jun 17, 2009
  12. Apr 10, 2009
Loading