aboutsummaryrefslogtreecommitdiff
path: root/scripts/get_maintainer.pl
AgeCommit message (Collapse)AuthorFilesLines
2010-10-26scripts/get_maintainer.pl: don't deduplicate unnamed addresses ie: mailing listsJoe Perches1-3/+3
Fix a defect with the first mailing list address being used for each subsequent mailing list. Updated to 0.26-beta6. Signed-off-by: Joe Perches <[email protected]> Cc: Florian Mickler <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: use mailmap in name deduplication and other updatesJoe Perches1-84/+148
Use Florian Mickler's mailmap routine to reduce name duplication. o Add subroutine deduplicate_email to centralize code o Add hashes for deduplicate_(name|address)_hash o Remove now unused @interactive_to o Whitespace neatening o Add command line --help text o Add --mailmap command line option control o Interactive changes: - Add toggles for maintainer, git and list selections - Default selection is all - Add mailmap control Update to 0.26-beta5 Signed-off-by: Joe Perches <[email protected]> Cc: Florian Mickler <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: correct indentation in a few placesJoe Perches1-78/+78
And a miscellaneous conversion of You to you in a help message Signed-off-by: Joe Perches <[email protected]> Cc: Florian Mickler <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: fix mailmap handlingFlorian Mickler1-38/+109
Implement it, like it is described in git-shortlog. Signed-off-by: Florian Mickler <[email protected]> Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: use case insensitive name de-duplicationJoe Perches1-34/+101
Case insensitive name and email address matching can help reduce duplication when authors don't always use the exact same signature. o Add a --interactive per-file exact_match hash so git history can be checked on per-file only when there is no direct maintainer o Make @interactive_to list global so save_commits_by_<foo> can check email names & addresses against this list for duplication o Don't allow --interactive and --sections o rename subroutine get_maintainer to get_maintainers o Added help text option to --interactive menu prompt Update version to 0.26-beta4 Signed-off-by: Joe Perches <[email protected]> Cc: Florian Mickler <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: improve --interactive UIJoe Perches1-275/+596
o Added searching by git-blame as well as git-history o Added different selection toggles o Added ability to list commits by author or by sign-off-type o Use custom git and hg formats to make searching for subject/author a bit easier. o Move inlined section matching and searching git/hg history to new get_maintainer subroutine o Added subroutines save_commits_by_author and save_commits_by_signer o Removed subroutines vcs_get_shortlog and vcs_email_shortlog o Rename camelcase signaturePattern to signature_pattern Update to 0.26 beta3 Signed-off-by: Joe Perches <[email protected]> Cc: Florian Mickler <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: add interactive modeFlorian Mickler1-5/+141
This is a first version of an interactive mode for scripts/get_maintainer.pl. It allows the user to interact with the script. Each cc candidate can be selected and deselected and a shortlog of authored commits can be displayed for each candidate. The menu is displayed via STDERR, the end result is outputted to STDOUT. This unusual mechanism allows using get_maintainer.pl in interactive mode via git send-email --cc-cmd. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: use .get_maintainer.conf from . then $HOME then ↵Joe Perches1-3/+17
scripts On Mon, 2010-09-13 at 00:01 -0400, [email protected] wrote: > Any chance of getting that to be ~/.get_maintainer.conf rather than > ./.get_maintainer.conf? I've just gotten bit like the 3rd or 4th time by > "oh but you didn't create that file in *this* tree" > (I usually have a linus git tree, a linux-next tree, and 3-4 -mm trees) Sure. Add a search path for the .conf file. 3 paths are added: . customized per-tree configurations $HOME user global configuration when per-tree configs don't exist ./scripts lk defaults to override script Signed-off-by: Joe Perches <[email protected]> Cc: Valdis Kletnieks <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: add default --git-fallback, remove default --gitJoe Perches1-2/+9
Adding commit signers when there is a listed MAINTAINER for a file can make the output list longer than necessary. Change the --git default from on to off. Add a new --git-fallback option (default on) used to add commit signers only when there is no MAINTAINER for a file. git history is used when --git-fallback is enabled and the pattern directory depth is not the same as the file directory depth. For instance: X86 ARCHITECTURE (32-BIT AND 64-BIT) M: Thomas Gleixner <[email protected]> M: Ingo Molnar <[email protected]> M: "H. Peter Anvin" <[email protected]> M: [email protected] T: git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git S: Maintained F: Documentation/x86/ F: arch/x86/ If using "./scripts/get_maintainer -f arch/x86/lib/atomic64_32.c", the pattern for "arch/x86/" does not match the directory depth of "arch/x86/lib" so the MAINTAINERS entries and git history is used to produce: $ ./scripts/get_maintainer.pl -f --rolestats arch/x86/lib/atomic64_32.c Thomas Gleixner <[email protected]> (maintainer:X86 ARCHITECTURE...) Ingo Molnar <[email protected]> (maintainer:X86 ARCHITECTURE...) "H. Peter Anvin" <[email protected]> (maintainer:X86 ARCHITECTURE...,commit_signer:1/1=100%) [email protected] (maintainer:X86 ARCHITECTURE...) Luca Barbieri <[email protected]> (commit_signer:1/1=100%) [email protected] (open list) Luca Barbieri is added because he signed the only commit to arch/x86/lib/atomic64_32.c during the last year and he meets the other default qualifications. --git-min-percent (default:10) --git-min-signatures (default:1) If current users of ./scripts/get_maintainers.pl have scripts that use --nogit that expect git history to be excluded, those scripts should be updated to include --nogit-fallback or a .get_maintainer.conf file should be created with --nogit-fallback. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: don't search MAINTAINERS for keywords or emailsJoe Perches1-1/+1
Keyword matching uses K: patterns from MAINTAINERS, so if looking for the MAINTAINERS maintainer, don't search MAINTAINERS for pattern matches. MAINTAINERS also has rather a lot of email addresses and is easily searched using grep "^M:", so skip it. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: use correct indentationJoe Perches1-15/+15
Fix an overly indented block. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-26scripts/get_maintainer.pl: Add --git-blame --rolestats "Authored lines" ↵Joe Perches1-3/+57
information 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. For instance: $ ./scripts/get_maintainer.pl --git-blame --nogit --rolestats -f lib/bitmap.c Paul Jackson <[email protected]> (authored lines:406/613=66%,commits:7/20=35%) Akinobu Mita <[email protected]> (authored lines:87/613=14%,commits:3/20=15%) Reinette Chatre <[email protected]> (authored lines:42/613=7%) Andrew Morton <[email protected]> (commits:16/20=80%) Paul Mundt <[email protected]> (commits:3/20=15%) Randy Dunlap <[email protected]> (commits:2/20=10%) $ ./scripts/get_maintainer.pl --git-blame --git --rolestats -f lib/bitmap.c Andrew Morton <[email protected]> (commit_signer:4/5=80%,commits:16/20=80%) Akinobu Mita <[email protected]> (commit_signer:2/5=40%,authored lines:87/613=14%,commits:3/20=15%) Jack Steiner <[email protected]> (commit_signer:1/5=20%) Ben Hutchings <[email protected]> (commit_signer:1/5=20%) Lee Schermerhorn <[email protected]> (commit_signer:1/5=20%) Paul Jackson <[email protected]> (authored lines:406/613=66%,commits:7/20=35%) Reinette Chatre <[email protected]> (authored lines:42/613=7%) Paul Mundt <[email protected]> (commits:3/20=15%) Randy Dunlap <[email protected]> (commits:2/20=10%) [email protected] (open list) Signed-off-by: Joe Perches <[email protected]> Cc: Mark Brown <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-25scripts/get_maintainer.pl: default to not include unspecified tagsFlorian Mickler1-1/+1
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: Florian Mickler <[email protected]> Acked-by: Wolfram Sang <[email protected]> Cc: Joe Perches <[email protected]> Cc: Stefan Richter <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-25scripts/get_maintainer.pl: add .get_maintainer.conf default options fileJoe Perches1-1/+30
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: Joe Perches <[email protected]> Reviewed-by: Florian Mickler <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-05-25scripts/get_maintainer.pl: optionally ignore non-maintainer signaturesJoe Perches1-9/+26
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: Florian Mickler <[email protected]> Signed-off-by: Florian Mickler <[email protected]> Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-24get_maintainer: repair STDIN usageWolfram Sang1-1/+1
Commit 22dd5b0cba50a197aaa3bd2790a29ee2e8e4e372 (fix perlcritic warnings) broke the ability to handle STDIN because the three argument version of open() cannot handle standard IO-streams (which is mentioned in PerlBestPractices, too). Signed-off-by: Wolfram Sang <[email protected]> Cc: Stephen Hemminger <[email protected]> Acked-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06scripts/get_maintainer.pl: fix possible infinite loopJoe Perches1-2/+2
If MAINTAINERS section entries are misformatted, it was possible to have an infinite loop. Correct the defect by always moving the index to the end of section + 1 Also, exit check for exclude as soon as possible. Signed-off-by: Joe Perches <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06get_maintainer: quote email address with periodStephen Hemminger1-2/+2
Picky mail systems won't accept email addresses where recipient has period in name; ie. David S. Miller <davemloft.net> will not work. Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06get_maintainer: fix perlcritic warningsStephen Hemminger1-14/+20
perlcritic is a standard checker for Perl Best Practices. This patch fixes most of the warnings in the get_maintainer script. If kernel programmers are going to have checkpatch they should write clean scripts as well... Bareword file handle opened at line 176, column 1. See pages 202,204 of PBP. (Severity: 5) Two-argument "open" used at line 176, column 1. See page 207 of PBP. (Severity: 5) Bareword file handle opened at line 207, column 5. See pages 202,204 of PBP. (Severity: 5) Two-argument "open" used at line 207, column 5. See page 207 of PBP. (Severity: 5) Bareword file handle opened at line 246, column 6. See pages 202,204 of PBP. (Severity: 5) Two-argument "open" used at line 246, column 6. See page 207 of PBP. (Severity: 5) Bareword file handle opened at line 258, column 2. See pages 202,204 of PBP. (Severity: 5) Two-argument "open" used at line 258, column 2. See page 207 of PBP. (Severity: 5) Expression form of "eval" at line 983, column 17. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 985, column 17. See page 161 of PBP. (Severity: 5) Subroutine prototypes used at line 1186, column 1. See page 194 of PBP. (Severity: 5) Subroutine prototypes used at line 1206, column 1. See page 194 of PBP. (Severity: 5) Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06scripts/get_maintainer.pl: add ability to read from STDINJoe Perches1-11/+15
Doesn't need or accept '-' as a trailing option to read stdin. Doesn't print usage() after bad options. Adds --usage as command line equivalent of --help Suggested-by: Borislav Petkov <[email protected]> Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06scripts/get_maintainer.pl: change --sections to print in the same style as ↵Joe Perches1-0/+2
MAINTAINERS Signed-off-by: Joe Perches <[email protected]> Cc: Stefan Richter <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06scripts/get_maintainer.pl: add --sections, print entire matched subsystemJoe Perches1-4/+32
Print the complete contents of the matched subsystems in pattern match depth order. Sample output: $ ./scripts/get_maintainer.pl --sections -f drivers/net/usb/smsc95xx.c USB SMSC95XX ETHERNET DRIVER M:Steve Glendinning <[email protected]> L:[email protected] S:Supported F:drivers/net/usb/smsc95xx.* USB SUBSYSTEM M:Greg Kroah-Hartman <[email protected]> L:[email protected] W:http://www.linux-usb.org T:quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ S:Supported F:Documentation/usb/ F:drivers/net/usb/ F:drivers/usb/ F:include/linux/usb.h F:include/linux/usb/ NETWORKING DRIVERS L:[email protected] W:http://www.linuxfoundation.org/en/Net T:git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git S:Odd Fixes F:drivers/net/ F:include/linux/if_* F:include/linux/*device.h THE REST M:Linus Torvalds <[email protected]> L:[email protected] Q:http://patchwork.kernel.org/project/LKML/list/ T:git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git S:Buried alive in reporters F:* F:*/ Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06scripts/get_maintainer.pl: add --file-emails, find embedded email addressesJoe Perches1-7/+76
Add an imperfect option to search a source file for email addresses. New option: --file-emails or --fe email addresses in files are freeform text and are nearly impossible to parse. Still, might as well try to do a somewhat acceptable job of finding them. This code should find all addresses that are in the form [email protected] The code assumes that up to 3 alphabetic words along with dashes, commas, and periods that preceed the email address are a name. If 3 words are found for the name, and one of the first two words are a single letter and period, or just a single letter then the 3 words are use as name otherwise the last 2 words are used. Some variants that are shown correctly: John Smith <[email protected]> Random J. Developer <[email protected]> Random J. Developer ([email protected]) J. Random Developer [email protected] Variants that are shown nominally correctly: Written by First Last ([email protected]) is shown as: First Last <[email protected]> Variants that are shown incorrectly: Some Really Long Name <[email protected]> MontaVista Software, Inc. <[email protected]> are returned as: Long Name <[email protected]> "Software, Inc" <[email protected]> --roles and --rolestats show "(in file)" for matches. For instance: Without -file-emails: $ ./scripts/get_maintainer.pl -f -nogit -roles net/core/netpoll.c David S. Miller <[email protected]> (maintainer:NETWORKING [GENERAL]) [email protected] (open list) With -fe: $ ./scripts/get_maintainer.pl -f -fe -nogit -roles net/core/netpoll.c David S. Miller <[email protected]> (maintainer:NETWORKING [GENERAL]) Matt Mackall <[email protected]> (in file) Ingo Molnar <[email protected]> (in file) [email protected] (open list) [email protected] (open list:NETWORKING [GENERAL]) The number of email addresses in the file in not limited. Neither is the number of returned email addresses. Signed-off-by: Joe Perches <[email protected]> Cc: Matt Mackall <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-02-02get_maintainer.pl: teach git log to use --no-colorRichard Kennedy1-2/+2
When git has been set to always use color in .gitconfig then I get the warning message Bad divisor in main::vcs_assign: 0 This is caused by vcs_file_signoffs not matching any commits due to the pattern not understand the colour codes. Fix this by telling git log to never use colour. Signed-off-by: Richard Kennedy <[email protected]> Acked-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-01-11scripts/get_maintainer.pl: fix file exclusion X: logicJoe Perches1-30/+54
The following command doesn't generate any output. `./scripts/get_maintainer.pl --no-git -f drivers/net/wireless/wl12xx/wl1271_acx.c` An excluded "X:" pattern match in any section would cause a file not to match any other section. Signed-off-by: Joe Perches <[email protected]> Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-12-15scripts/get_maintainer.pl: support multiple VCSs - add mercurialJoe Perches1-93/+168
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: Joe Perches <[email protected]> Cc: Marti Raudsepp <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-12-15scripts/get_maintainer.pl: fix --non with --git-blame and cleanupsJoe Perches1-94/+104
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: Joe Perches <[email protected]> Cc: Ben Hutchings <[email protected]> Cc: Greg KH <[email protected]> Cc: Pavel Machek <[email protected]> Cc: Wolfram Sang <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-12-15scripts/get_maintainer.pl: add --roles and --rolestatsJoe Perches1-18/+176
--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 <[email protected]> Karol Kozimor <[email protected]> Len Brown <[email protected]> Pavel Machek <[email protected]> Rafael J. Wysocki <[email protected]> Thomas Gleixner <[email protected]> Ingo Molnar <[email protected]> H. Peter Anvin <[email protected]> [email protected] Yinghai Lu <[email protected]> Jeremy Fitzhardinge <[email protected]> [email protected] [email protected] [email protected] With --roles $ ./scripts/get_maintainer.pl --roles -f arch/x86/kernel/acpi/boot.c Corentin Chary <[email protected]> (maintainer:ASUS ACPI EXTRAS...) Karol Kozimor <[email protected]> (maintainer:ASUS ACPI EXTRAS...) Len Brown <[email protected]> (supporter:SUSPEND TO RAM,git-signer) Pavel Machek <[email protected]> (supporter:SUSPEND TO RAM) Rafael J. Wysocki <[email protected]> (supporter:SUSPEND TO RAM) Thomas Gleixner <[email protected]> (maintainer:X86 ARCHITECTURE...) Ingo Molnar <[email protected]> (maintainer:X86 ARCHITECTURE...,git-signer) H. Peter Anvin <[email protected]> (maintainer:X86 ARCHITECTURE...) [email protected] (maintainer:X86 ARCHITECTURE...) Yinghai Lu <[email protected]> (git-signer) Jeremy Fitzhardinge <[email protected]> (git-signer) [email protected] (open list:ASUS ACPI EXTRAS...) [email protected] (open list:SUSPEND TO RAM) [email protected] (open list) With --rolestats $ ./scripts/get_maintainer.pl --rolestats -f arch/x86/kernel/acpi/boot.c Corentin Chary <[email protected]> (maintainer:ASUS ACPI EXTRAS...) Karol Kozimor <[email protected]> (maintainer:ASUS ACPI EXTRAS...) Len Brown <[email protected]> (supporter:SUSPEND TO RAM,git-signer:16/79=20%) Pavel Machek <[email protected]> (supporter:SUSPEND TO RAM) Rafael J. Wysocki <[email protected]> (supporter:SUSPEND TO RAM) Thomas Gleixner <[email protected]> (maintainer:X86 ARCHITECTURE...) Ingo Molnar <[email protected]> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%) H. Peter Anvin <[email protected]> (maintainer:X86 ARCHITECTURE...) [email protected] (maintainer:X86 ARCHITECTURE...) Yinghai Lu <[email protected]> (git-signer:12/79=15%) Jeremy Fitzhardinge <[email protected]> (git-signer:6/79=8%) [email protected] (open list:ASUS ACPI EXTRAS...) [email protected] (open list:SUSPEND TO RAM) [email protected] (open list) With --rolestats and --git-blame $ ./scripts/get_maintainer.pl --rolestats --git-blame -f arch/x86/kernel/acpi/boot.c Corentin Chary <[email protected]> (maintainer:ASUS ACPI EXTRAS...) Karol Kozimor <[email protected]> (maintainer:ASUS ACPI EXTRAS...) Len Brown <[email protected]> (supporter:SUSPEND TO RAM,git-signer:16/79=20%,commits:22/154=14%) Pavel Machek <[email protected]> (supporter:SUSPEND TO RAM) Rafael J. Wysocki <[email protected]> (supporter:SUSPEND TO RAM) Thomas Gleixner <[email protected]> (maintainer:X86 ARCHITECTURE...) Ingo Molnar <[email protected]> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%,commits:36/154=23%) H. Peter Anvin <[email protected]> (maintainer:X86 ARCHITECTURE...) [email protected] (maintainer:X86 ARCHITECTURE...) Yinghai Lu <[email protected]> (git-signer:12/79=15%,commits:9/154=6%) Jeremy Fitzhardinge <[email protected]> (git-signer:6/79=8%) Andi Kleen <[email protected]> (commits:11/154=7%) Andrew Morton <[email protected]> (commits:10/154=6%) [email protected] (open list:ASUS ACPI EXTRAS...) [email protected] (open list:SUSPEND TO RAM) [email protected] (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: Joe Perches <[email protected]> Signed-off-by: Ben Hutchings <[email protected]> Cc: Greg KH <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-11-12get_maintainer: fix usage commentRoel Kluin1-2/+2
With the `s' it just won't work. Signed-off-by: Roel Kluin <[email protected]> Acked-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-10-29scripts/get_maintainer.pl: add patch/file search for keywordsJoe Perches1-2/+35
Based on an idea from Wolfram Sang. Add search for MAINTAINERS line "K:" regex pattern match in a patch or file Matches are added after file pattern matches Add --keywords command line switch (default 1, on) Change version to 0.21 Signed-off-by: Joe Perches <[email protected]> Cc: Wolfram Sang <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: add maintainers in order listed in matched sectionJoe Perches1-16/+54
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: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: add --remove-duplicatesJoe Perches1-53/+55
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 <[email protected]> Alan Cox <[email protected]> Mike Frysinger <[email protected]> Alexey Dobriyan <[email protected]> [email protected] $ ./scripts/get_maintainer.pl -f --noremove-duplicates drivers/char/tty_ioctl.c Greg Kroah-Hartman <[email protected]> Alan Cox <[email protected]> Alan Cox <[email protected]> Alan Cox <[email protected]> Mike Frysinger <[email protected]> Alexey Dobriyan <[email protected]> [email protected] Using --remove-duplicates could eliminate multiple maintainers that share the same name but not the same email address. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: using --separator implies --nomultilineJoe Perches1-0/+5
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: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: add .mailmap use, shell and email cleanupsJoe Perches1-7/+65
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: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: better email routines, use perl not shell where ↵Joe Perches1-56/+96
possible 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: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: add --pattern-depthJoe Perches1-7/+14
--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 <[email protected]> M: Simon Horman <[email protected]> M: Julian Anastasov <[email protected]> [...] F: net/netfilter/ipvs/ NETFILTER/IPTABLES/IPCHAINS [...] M: Patrick McHardy <[email protected]> [...] F: net/netfilter/ NETWORKING [GENERAL] M: "David S. Miller" <[email protected]> [...] F: net/ THE REST M: Linus Torvalds <[email protected]> [...] 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 <[email protected]> Simon Horman <[email protected]> Wensong Zhang <[email protected]> Patrick McHardy <[email protected]> David S. Miller <[email protected]> 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 <[email protected]> Simon Horman <[email protected]> Wensong Zhang <[email protected]> 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 <[email protected]> Simon Horman <[email protected]> Wensong Zhang <[email protected]> Patrick McHardy <[email protected]> and so on. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: add sections in pattern match depth orderJoe Perches1-1/+8
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 <[email protected]> Miroslav Zagorac <[email protected]> [email protected] [email protected] 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 <[email protected]> James E.J. Bottomley <[email protected]> [email protected] [email protected] Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-22scripts/get_maintainer.pl: add --git-blameJoe Perches1-29/+109
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: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-07-29get_maintainerpl-add-git-min-percent-option-fixJoe Perches1-1/+1
Allow an option to control the minimum percentage of sign-offs required before being considered a maintainer. git-min-percent has a default value of 5 Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-07-29get_maintainer.pl: Add git-min-percent optionJoe Perches1-3/+16
Allow an option to control the minimum percentage of sign-offs required before being considered a maintainer. git-min-percent has a default value of 5 Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-07-29scripts/get_maintainer.pl: Add -f directory useJoe Perches1-4/+19
Don't require a specific file in a directory to be tested. Also Arnd Bergmann pointed out that the MAINTAINERS pattern requirement that directory patterns have a trailing slash was unnecessary and was likely to be error prone. Removed that requirement. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: change "die" to "warn" when command line file is ↵Joe Perches1-1/+1
not a patch fixes git send-email with a cover letter Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: allow 8 bit characters in email addressesJoe Perches1-1/+1
Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: don't print maintainers when not requestedJoe Perches1-4/+6
Fixed bug introduced after using rfc822 address checking. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: support both "P:/M:" and integrated "M:" linesJoe Perches1-8/+22
Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: better email name quotingJoe Perches1-0/+1
Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: support M: lines with names and multiple entries ↵Joe Perches1-16/+129
per M: line Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: warn on missing git or git repositoryJoe Perches1-3/+12
support older versions of grep (use -E not -P) no need to return data in routine recent_git_signoffs Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: improve --git-chief-penquins (Linus Torvalds) ↵Joe Perches1-15/+12
filtering Moved [email protected] to MAINTAINERS lkml will be added to all CC lists via F: pattern match Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-16scripts/get_maintainer.pl: better fix for subscriber-only mailing listsJoe Perches1-1/+1
Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>