1. 16 12月, 2009 3 次提交
    • J
      scripts/get_maintainer.pl: support multiple VCSs - add mercurial · 60db31ac
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Cc: Marti Raudsepp <marti@juffo.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      60db31ac
    • J
      scripts/get_maintainer.pl: fix --non with --git-blame and cleanups · a8af2430
      Joe Perches 提交于
      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: NJoe 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a8af2430
    • J
      scripts/get_maintainer.pl: add --roles and --rolestats · 3c7385b8
      Joe Perches 提交于
      --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: NJoe Perches <joe@perches.com>
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3c7385b8
  2. 12 11月, 2009 1 次提交
  3. 29 10月, 2009 1 次提交
  4. 22 9月, 2009 8 次提交
    • J
      scripts/get_maintainer.pl: add maintainers in order listed in matched section · b781655a
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b781655a
    • J
      scripts/get_maintainer.pl: add --remove-duplicates · 11ecf53c
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      11ecf53c
    • J
      scripts/get_maintainer.pl: using --separator implies --nomultiline · 42498316
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      42498316
    • J
      scripts/get_maintainer.pl: add .mailmap use, shell and email cleanups · 8cbb3a77
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8cbb3a77
    • J
      scripts/get_maintainer.pl: better email routines, use perl not shell where possible · 0e70e83d
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0e70e83d
    • J
      scripts/get_maintainer.pl: add --pattern-depth · 3fb55652
      Joe Perches 提交于
      --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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3fb55652
    • J
      scripts/get_maintainer.pl: add sections in pattern match depth order · 1d606b4e
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1d606b4e
    • J
      scripts/get_maintainer.pl: add --git-blame · f5492666
      Joe Perches 提交于
      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: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f5492666
  5. 30 7月, 2009 3 次提交
  6. 17 6月, 2009 10 次提交
  7. 11 4月, 2009 2 次提交
    • J
      scripts/get_maintainer.pl - Allow multiple files on command line · 4a7fdb5f
      Joe Perches 提交于
      Improve handling of "by:" signoffs
      Sorting and frequency checks are done by name/email, not
      by "by:" tag.
      Signed-off-by: NJoe Perches <joe@perches.com>
      4a7fdb5f
    • J
      Add scripts/get_maintainer.pl · cb7301c7
      Joe Perches 提交于
      A script to parse file pattern information in MAINTAINERS
      and return selected information about a file or patch
      
      usage: scripts/get_maintainer.pl [options] patchfile
             scripts/get_maintainer.pl [options] -f file
      version: 0.14
      
      MAINTAINERS field selection options:
        --email => print email address(es) if any
          --git => include git "*-by:" signers in commit count order
          --git-chief-penguins => include (Linus Torvalds)
          --git-min-signatures => number of signatures required (default: 1)
          --git-max-maintainers => maximum maintainers to add (default: 5)
          --git-since => git history to use (default: 1-year-ago)
          --m => include maintainer(s) if any
          --n => include name 'Full Name <addr@domain.tld>'
          --l => include list(s) if any
          --s => include subscriber only list(s) if any
        --scm => print SCM tree(s) if any
        --status => print status if any
        --subsystem => print subsystem name if any
        --web => print website(s) if any
      
      Output type options:
        --separator [, ] => separator for multiple entries on 1 line
        --multiline => print 1 entry per line
      
      Default options:
        [--email --git --m --n --l --multiline]
      
      Other options:
        --version => show version
        --help => show this help information
      Signed-off-by: NJoe Perches <joe@perches.com>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      cb7301c7