Age | Commit message (Collapse) | Author | Files | Lines |
|
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]>
|
|
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]>
|
|
--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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
--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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Signed-off-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
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]>
|
|
Signed-off-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
Signed-off-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
per M: line
Signed-off-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
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]>
|
|
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]>
|
|
Signed-off-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
after maintainers.
Fix mailing lists that are described, but not "(subscriber-only)"
Signed-off-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
Improve handling of "by:" signoffs
Sorting and frequency checks are done by name/email, not
by "by:" tag.
Signed-off-by: Joe Perches <[email protected]>
|
|
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 <[email protected]>'
--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: Joe Perches <[email protected]>
Acked-by: Pavel Machek <[email protected]>
|