Lines Matching +full:- +full:ne

9 #        perl scripts/get_maintainer.pl [OPTIONS] -f <file>
40 my $email_git_since = "1-year-ago";
41 my $email_hg_since = "-365";
88 push(@signature_tags, "Signed-off-by:");
89 push(@signature_tags, "Reviewed-by:");
90 push(@signature_tags, "Acked-by:");
94 # rfc822 email address - preloaded methods go here.
96 my $rfc822_char = '[\\000-\\377]';
98 # VCS command support: class-like functions and strings
104 "available" => '(which("git") ne "") && (-e ".git")',
106 "git log --no-color --follow --since=\$email_git_since " .
107 '--numstat --no-merges ' .
108 '--format="GitCommit: %H%n' .
113 " -- \$file",
115 "git log --no-color " .
116 '--numstat ' .
117 '--format="GitCommit: %H%n' .
122 " -1 \$commit",
124 "git log --no-color " .
125 '--numstat ' .
126 '--format="GitCommit: %H%n' .
130 " -1 \$commit",
131 "blame_range_cmd" => "git blame -l -L \$diff_start,+\$diff_length \$file",
132 "blame_file_cmd" => "git blame -l \$file",
133 "commit_pattern" => "^GitCommit: ([0-9a-f]{40,40})",
134 "blame_commit_pattern" => "^([0-9a-f]+) ",
138 "file_exists_cmd" => "git ls-files \$file",
143 "available" => '(which("hg") ne "") && (-d ".hg")',
145 "hg log --date=\$email_hg_since " .
146 "--template='HgCommit: {node}\\n" .
149 " -- \$file",
152 "--template='HgSubject: {desc}\\n'" .
153 " -r \$commit",
156 "--template='HgCommit: {node}\\n" .
159 " -r \$commit",
161 "blame_file_cmd" => "hg blame -n \$file",
162 "commit_pattern" => "^HgCommit: ([0-9a-f]{40,40})",
163 "blame_commit_pattern" => "^([ 0-9a-f]+):",
171 if (-f $conf) {
198 if (-f $ignore_file) {
220 'git-all-signature-types!' => \$email_git_all_signature_types,
221 'git-blame!' => \$email_git_blame,
222 'git-blame-signatures!' => \$email_git_blame_signatures,
223 'git-fallback!' => \$email_git_fallback,
224 'git-chief-penguins!' => \$email_git_penguin_chiefs,
225 'git-min-signatures=i' => \$email_git_min_signatures,
226 'git-max-maintainers=i' => \$email_git_max_maintainers,
227 'git-min-percent=i' => \$email_git_min_percent,
228 'git-since=s' => \$email_git_since,
229 'hg-since=s' => \$email_hg_since,
231 'remove-duplicates!' => \$email_remove_duplicates,
247 'pattern-depth=i' => \$pattern_depth,
250 'fe|file-emails!' => \$file_emails,
252 'find-maintainer-files' => \$find_maintainer_files,
256 die "$P: invalid argument - use --help if necessary\n";
269 if (-t STDIN && !@ARGV) {
271 die "$P: missing patchfile or -f file - use --help if necessary\n";
274 $output_multiline = 0 if ($output_separator ne ", ");
278 if ($sections || $letters ne "") {
304 . "a U-Boot source tree.\n";
321 if ($line =~ m/^([A-Z]):\s*(.*)/) {
331 if ((-d $value)) {
350 return if (! -f $file);
358 if (-d "${lk_path}MAINTAINERS") {
373 push(@mfiles, "${lk_path}MAINTAINERS") if -f "${lk_path}MAINTAINERS";
394 return if (!$email_use_mailmap || !(-f "${lk_path}.mailmap"));
409 # (see man git-shortlog)
417 $mailmap->{names}->{$address} = $real_name;
423 $mailmap->{addresses}->{$wrong_address} = $real_address;
433 $mailmap->{names}->{$wrong_address} = $real_name;
434 $mailmap->{addresses}->{$wrong_address} = $real_address;
451 $mailmap->{names}->{$wrong_email} = $real_name;
452 $mailmap->{addresses}->{$wrong_email} = $real_address;
470 if ($file ne "&STDIN") {
472 if ((-d $file)) {
474 } elsif (!(-f $file)) {
478 if ($from_filename || ($file ne "&STDIN" && vcs_file_exists($file))) {
482 if ($file ne "MAINTAINERS" && -f $file && ($keywords || $file_emails)) {
495 …my @poss_addr = $text =~ m$[A-Za--ÿ\"\' \,\.\+-]*\s*[\,]*\s*[\(\<\{]{0,1}[A-Za-z0-9_\.\+-]+\@[A-
509 # of a git format-patch generated file (subject tags, etc...)
515 if (m/^\+\+\+\s+(\S+)/ or m/^---\s+(\S+)/) {
521 $patch_prefix = "^[+-].*"; #Now parsing the actual patch
522 } elsif (m/^\@\@ -(\d+),(\d+)/) {
538 . "Add -f to options?\n";
602 if ($line =~ m/^([A-Z]):\s*(.*)/) {
620 if ($line =~ m/^([A-Z]):\s*(.*)/) {
669 if ($line =~ m/^([A-Z]):\s*(.*)/) {
684 if ($line =~ m/^([A-Z]):\s*(.*)/) {
691 $value_pd++ if (substr($value,-1,1) ne "/");
692 $value_pd = -1 if ($value =~ /^\.\*/);
699 (($file_pd - $value_pd) < $pattern_depth)) {
728 my $count = $line =~ s/^([A-Z]):/$1:\t/g;
746 $email->[0] = deduplicate_email($email->[0]);
769 @email_to = grep($_->[0] !~ /${email_address}/, @email_to);
802 if (substr($pattern, -1) eq "/") {
821 $P [options] -f file|directory
825 --email => print email address(es) if any
826 --git => include recent git \*-by: signers
827 --git-all-signature-types => include signers regardless of signature type
829 --git-fallback => use git when no exact MAINTAINERS pattern (default: $email_git_fallback)
830 --git-chief-penguins => include ${penguin_chiefs}
831 --git-min-signatures => number of signatures required (default: $email_git_min_signatures)
832 --git-max-maintainers => maximum maintainers to add (default: $email_git_max_maintainers)
833 --git-min-percent => minimum percentage of commits required (default: $email_git_min_percent)
834 --git-blame => use git blame to find modified commits for patch or file
835 --git-blame-signatures => when used with --git-blame, also include all commit signers
836 --git-since => git history to use (default: $email_git_since)
837 --hg-since => hg history to use (default: $email_hg_since)
838 --interactive => display a menu (mostly useful if used with the --git option)
839 --m => include maintainer(s) if any
840 --r => include reviewer(s) if any
841 --n => include name 'Full Name <addr\@domain.tld>'
842 --l => include list(s) if any
843 --s => include subscriber only list(s) if any
844 --remove-duplicates => minimize duplicate email names/addresses
845 --roles => show roles (status:subsystem, git-signer, list, etc...)
846 --rolestats => show roles and statistics (commits/total_commits, %)
847 --file-emails => add email addresses found in -f file (default: 0 (off))
848 --scm => print SCM tree(s) if any
849 --status => print status if any
850 --subsystem => print subsystem name if any
851 --web => print website(s) if any
854 --separator [, ] => separator for multiple entries on 1 line
855 using --separator also sets --nomultiline if --separator is not [, ]
856 --multiline => print 1 entry per line
859 --pattern-depth => Number of pattern directory traversals (default: 0 (all))
860 --keywords => scan patch for keywords (default: $keywords)
861 --sections => print all of the subsystem sections with pattern matches
862 --letters => print all matching 'letter' types from all matching sections
863 --mailmap => use .mailmap file (default: $email_use_mailmap)
864 --version => show version
865 --help => show this help information
868 [--email --nogit --git-fallback --m --r --n --l --multiline --pattern-depth=0
869 --remove-duplicates --rolestats]
872 Using "-f directory" may give unexpected results:
873 Used with "--git", git signators for _all_ files in and below
876 Used with "--nogit", directory is used as a pattern match,
879 Used with "--git-blame", does not iterate all files in directory
880 Using "--git-blame" is slow and may add old committers and authors
882 Using "--roles" or "--rolestats" with git send-email --cc-cmd or any
885 Using "--rolestats" and "--git-blame" shows the #/total=% commits,
891 --git,
892 --git-min-signatures, --git-max-maintainers, --git-min-percent, and
893 --git-blame
894 Use --hg-since not --git-since to control date selection
901 The negative forms for --<foo> are --no<foo> and --no-<foo>.
909 if ($lk_path ne "" && substr($lk_path,length($lk_path)-1,1) ne "/") {
912 if ( (-f "${lk_path}Kbuild")
913 && (-e "${lk_path}MAINTAINERS")
914 && (-f "${lk_path}Makefile")
915 && (-f "${lk_path}README")
916 && (-d "${lk_path}arch")
917 && (-d "${lk_path}board")
918 && (-d "${lk_path}common")
919 && (-d "${lk_path}doc")
920 && (-d "${lk_path}drivers")
921 && (-d "${lk_path}dts")
922 && (-d "${lk_path}fs")
923 && (-d "${lk_path}lib")
924 && (-d "${lk_path}include")
925 && (-d "${lk_path}net")
926 && (-d "${lk_path}post")
927 && (-d "${lk_path}scripts")
928 && (-d "${lk_path}test")
929 && (-d "${lk_path}tools")) {
954 if ($name =~ /[^\w \-]/i) { ##has "must quote" chars
971 if ($name =~ /[^\w \-]/i) { ##has "must quote" chars
994 if (($tv =~ m/^([A-Z]):\s*(.*)/)) {
1008 if (!($tv =~ m/^([A-Z]):\s*(.*)/)) {
1011 $index--;
1022 if (!($tv =~ m/^([A-Z]):\s*(.*)/)) {
1038 $subsystem = substr($subsystem, 0, $output_section_maxlen - 3);
1057 if ($tv =~ m/^([A-Z]):\s*(.*)/) {
1107 if ($tv =~ m/^([A-Z]):\s*(.*)/) {
1115 if ($list_role ne "") {
1122 if ($list_additional =~ m/subscribers-only/) {
1148 my $tv = $typevalue[$i - 1];
1149 if ($tv =~ m/^([A-Z]):\s*(.*)/) {
1165 my $tv = $typevalue[$i - 1];
1166 if ($tv =~ m/^([A-Z]):\s*(.*)/) {
1193 return 1 if (($name ne "") && exists($email_hash_name{lc($name)}));
1194 return 1 if (($address ne "") && exists($email_hash_address{lc($address)}));
1212 $email_hash_name{lc($name)}++ if ($name ne "");
1246 my ($entry_name, $entry_address) = parse_email($entry->[0]);
1248 && ($role eq "" || !($entry->[1] =~ m/$role/))
1250 if ($entry->[1] eq "") {
1251 $entry->[1] = "$role";
1253 $entry->[1] = "$entry->[1],$role";
1257 if ($email eq $entry->[0]
1258 && ($role eq "" || !($entry->[1] =~ m/$role/))
1260 if ($entry->[1] eq "") {
1261 $entry->[1] = "$role";
1263 $entry->[1] = "$entry->[1],$role";
1274 if (-e "$path/$bin") {
1286 if (-e "$path/$conf") {
1302 if (exists $mailmap->{names}->{$email} ||
1303 exists $mailmap->{addresses}->{$email}) {
1304 if (exists $mailmap->{names}->{$email}) {
1305 $real_name = $mailmap->{names}->{$email};
1307 if (exists $mailmap->{addresses}->{$email}) {
1308 $real_address = $mailmap->{addresses}->{$email};
1311 if (exists $mailmap->{names}->{$address}) {
1312 $real_name = $mailmap->{names}->{$address};
1314 if (exists $mailmap->{addresses}->{$address}) {
1315 $real_address = $mailmap->{addresses}->{$address};
1375 # cut -f2- -d":"
1475 return @commits if (!(-f $file));
1489 next if ("$file" ne "$diff_file");
1500 next if ("$file" ne "$diff_file");
1526 warn("$P: No supported VCS found. Add --nogit to options?\n");
1556 $maintained = 1 if ($entry->[1] =~ /^(maintainer|supporter)/i);
1570 printf STDERR "\n%1s %2s %-65s",
1579 my $email = $entry->[0];
1580 my $role = $entry->[1];
1589 printf STDERR "%1s %2d %-65s", $sel, $count + 1, $email;
1618 gf use git-fallback [$email_git_fallback]
1666 $selected{$nr - 1} = !$selected{$nr - 1};
1681 if ($list[$i]->[1] =~ /^(maintainer|supporter)/i);
1686 if ($list[$i]->[1] =~ /^(author|commit|signer)/i);
1691 if ($list[$i]->[1] =~ /^(open list)/i);
1696 if ($list[$i]->[1] =~ /^(subscriber list)/i);
1701 $authored{$val - 1} = !$authored{$val - 1};
1711 $signed{$val - 1} = !$signed{$val - 1};
1747 if ($str ne "" && $val >= 0) {
1775 if ($str ne "" && $val >= 0) {
1806 print STDERR "git-blame can be very slow, please have patience..."
1846 if ($name ne "" && $deduplicate_name_hash{lc($name)}) {
1847 $name = $deduplicate_name_hash{lc($name)}->[0];
1848 $address = $deduplicate_name_hash{lc($name)}->[1];
1851 $name = $deduplicate_address_hash{lc($address)}->[0];
1852 $address = $deduplicate_address_hash{lc($address)}->[1];
1953 # uniq -c
1956 # sort -rn
2074 my $commit = join(" -r ", @commits);
2115 my $commit = join(" -r ", @commits);
2217 $email =~ s/[\(\<\{]{0,1}([A-Za-z0-9_\.\+-]+\@[A-Za-z0-9\.-]+)[\)\>\}]{0,1}/\<$1\>/g;
2223 my @nw = split(/[^A-Za--ÿ\'\,\.\+-]/, $name);
2225 my $first = $nw[@nw - 3];
2226 my $middle = $nw[@nw - 2];
2227 my $last = $nw[@nw - 1];
2229 if (((length($first) == 1 && $first =~ m/[A-Za-z]/) ||
2230 (length($first) == 2 && substr($first, -1) eq ".")) ||
2232 (length($middle) == 2 && substr($middle, -1) eq "."))) {
2239 if (substr($name, -1) =~ /[,\.]/) {
2240 $name = substr($name, 0, length($name) - 1);
2241 } elsif (substr($name, -2) =~ /[,\.]"/) {
2242 $name = substr($name, 0, length($name) - 2) . '"';
2246 $name = substr($name, 1, length($name) - 1);
2248 $name = '"' . substr($name, 2, length($name) - 2);
2298 my $controls = '\\000-\\037\\177';
2305 # Use zero-width assertion to spot the limit of an atom. A simple
2330 # regexps in the Email Addressing FAQ are imperfect - they will miss escaped