Lines Matching full:my
16 my $P = $0;
17 my $V = '0.26';
24 my $cur_path = fastgetcwd() . '/';
25 my $lk_path = "./";
26 my $email = 1;
27 my $email_usename = 1;
28 my $email_maintainer = 1;
29 my $email_reviewer = 1;
30 my $email_fixes = 1;
31 my $email_list = 1;
32 my $email_moderated_list = 1;
33 my $email_subscriber_list = 0;
34 my $email_git_penguin_chiefs = 0;
35 my $email_git = 0;
36 my $email_git_all_signature_types = 0;
37 my $email_git_blame = 0;
38 my $email_git_blame_signatures = 1;
39 my $email_git_fallback = 1;
40 my $email_git_min_signatures = 1;
41 my $email_git_max_maintainers = 5;
42 my $email_git_min_percent = 5;
43 my $email_git_since = "1-year-ago";
44 my $email_hg_since = "-365";
45 my $interactive = 0;
46 my $email_remove_duplicates = 1;
47 my $email_use_mailmap = 1;
48 my $output_multiline = 1;
49 my $output_separator = ", ";
50 my $output_roles = 0;
51 my $output_rolestats = 1;
52 my $output_section_maxlen = 50;
53 my $scm = 0;
54 my $tree = 1;
55 my $web = 0;
56 my $subsystem = 0;
57 my $status = 0;
58 my $letters = "";
59 my $keywords = 1;
60 my $sections = 0;
61 my $email_file_emails = 0;
62 my $from_filename = 0;
63 my $pattern_depth = 0;
64 my $self_test = undef;
65 my $version = 0;
66 my $help = 0;
67 my $find_maintainer_files = 0;
68 my $maintainer_path;
69 my $vcs_used = 0;
71 my $exit = 0;
73 my @files = ();
74 my @fixes = (); # If a patch description includes Fixes: lines
75 my @range = ();
76 my @keyword_tvi = ();
77 my @file_emails = ();
79 my %commit_author_hash;
80 my %commit_signer_hash;
82 my @penguin_chief = ();
87 my @penguin_chief_names = ();
88 foreach my $chief (@penguin_chief) {
90 my $chief_name = $1;
91 my $chief_addr = $2;
95 my $penguin_chiefs = "\(" . join("|", @penguin_chief_names) . "\)";
100 my @signature_tags = ();
105 my $signature_pattern = "\(" . join("|", @signature_tags) . "\)";
108 my $rfc822_lwsp = "(?:(?:\\r\\n)?[ \\t])";
109 my $rfc822_char = '[\\000-\\377]';
113 my %VCS_cmds;
115 my %VCS_cmds_git = (
155 my %VCS_cmds_hg = (
185 my $conf = which_conf(".get_maintainer.conf");
187 my @conf_args;
188 open(my $conffile, '<', "$conf")
192 my $line = $_;
201 my @words = split(" ", $line);
202 foreach my $word (@words) {
211 my @ignore_emails = ();
212 my $ignore_file = which_conf(".get_maintainer.ignore");
214 open(my $ignore, '<', "$ignore_file")
217 my $line = $_;
323 my $selections = $email + $scm + $status + $subsystem + $web;
343 my @typevalue = ();
344 my %keyword_hash;
345 my @mfiles = ();
346 my @self_test_info = ();
349 my ($file) = @_;
351 open (my $maint, '<', "$file")
353 my $i = 1;
355 my $line = $_;
359 my $type = $1;
360 my $value = $2;
387 my ($file) = $_;
401 my $path = "${lk_path}MAINTAINERS";
417 my @files = readdir(DIR);
419 foreach my $file (@files) {
429 foreach my $file (@mfiles) {
435 my ($file) = @_;
440 open(my $f, '<', $file)
442 my $text = do { local($/) ; <$f> };
445 …my @poss_addr = $text =~ m$[A-Za-zÀ-ÿ\"\' \,\.\+-]*\s*[\,]*\s*[\(\<\{]{0,1}[A-Za-z0-9_\.\+-]+\@[A-…
454 my $mailmap;
466 open(my $mailmap_file, '<', "${lk_path}.mailmap")
482 my $real_name = $1;
483 my $address = $2;
490 my $real_address = $1;
491 my $wrong_address = $2;
496 my $real_name = $1;
497 my $real_address = $2;
498 my $wrong_address = $3;
507 my $real_name = $1;
508 my $real_address = $2;
509 my $wrong_name = $3;
510 my $wrong_address = $4;
520 my $wrong_email = format_email($wrong_name, $wrong_address, 1);
534 foreach my $file (@ARGV) {
552 open(my $f, '<', $file)
554 my $text = do { local($/) ; <$f> };
557 foreach my $line (keys %keyword_hash) {
565 my $file_cnt = @files;
566 my $lastfile;
568 open(my $patch, "< $file")
576 my $patch_prefix = ""; #Parsing the intro
579 my $patch_line = $_;
581 my $filename = $1;
584 my $filename = $1;
587 my $filename1 = $1;
588 my $filename2 = $2;
594 my $filename = $1;
605 foreach my $line (keys %keyword_hash) {
625 my %email_hash_name;
626 my %email_hash_address;
627 my @email_to = ();
628 my %hash_list_to;
629 my @list_to = ();
630 my @scm = ();
631 my @web = ();
632 my @subsystem = ();
633 my @status = ();
634 my %deduplicate_name_hash = ();
635 my %deduplicate_address_hash = ();
637 my @maintainers = get_maintainers();
666 my @lsfiles = ();
667 my @good_links = ();
668 my @bad_links = ();
669 my @section_headers = ();
670 my $index = 0;
674 for my $x (@self_test_info) {
682 my $has_S = 0;
683 my $has_F = 0;
684 my $has_ML = 0;
685 my $status = "";
691 my $nextline = $index;
694 my $type = $1;
695 my $value = $2;
719 my $type = $1;
720 my $value = $2;
741 my $isbad = 0;
745 my $output = `wget --spider -q --no-check-certificate --timeout 10 --tries 1 $value`;
761 my $isbad = 0;
767 my $url = $1;
768 my $branch = "";
770 my $output = `git ls-remote --exit-code -h "$url" $branch > /dev/null 2>&1`;
778 my $url = $1;
779 my $output = `wget --spider -q --no-check-certificate --timeout 10 --tries 1 $url`;
795 my ($address) = @_;
797 foreach my $ignore (@ignore_emails) {
805 my ($start, $end) = @_;
807 for (my $i = $start; $i < $end; $i++) {
808 my $line = $typevalue[$i];
810 my $type = $1;
811 my $value = $2;
823 my ($start, $end) = @_;
825 for (my $i = $start; $i < $end; $i++) {
826 my $line = $typevalue[$i];
828 my $type = $1;
829 my $value = $2;
860 my %exact_pattern_match_hash = ();
862 foreach my $file (@files) {
864 my %hash;
865 my $tvi = find_first_section();
867 my $start = find_starting_index($tvi);
868 my $end = find_ending_index($tvi);
869 my $exclude = 0;
870 my $i;
875 my $line = $typevalue[$i];
877 my $type = $1;
878 my $value = $2;
890 my $line = $typevalue[$i];
892 my $type = $1;
893 my $value = $2;
896 my $value_pd = ($value =~ tr@/@@);
897 my $file_pd = ($file =~ tr@/@@);
921 foreach my $line (sort {$hash{$b} <=> $hash{$a}} keys %hash) {
924 my $i;
925 my $start = find_starting_index($line);
926 my $end = find_ending_index($line);
928 my $line = $typevalue[$i];
935 my $count = $line =~ s/^([A-Z]):/$1:\t/g;
949 foreach my $line (@keyword_tvi) {
954 foreach my $email (@email_to, @list_to) {
958 foreach my $file (@files) {
972 foreach my $chief (@penguin_chief) {
974 my $email_address;
985 foreach my $email (@file_emails) {
986 my ($name, $address) = parse_email($email);
988 my $tmp_email = format_email($name, $address, $email_usename);
994 foreach my $fix (@fixes) {
998 my @to = ();
1016 my ($file, $pattern) = @_;
1023 my $s1 = ($file =~ tr@/@@);
1024 my $s2 = ($pattern =~ tr@/@@);
1126 my ($lk_path) = @_;
1153 my ($formatted_email) = @_;
1155 my $name = "";
1156 my $address = "";
1180 my ($name, $address, $usename) = @_;
1182 my $formatted_email;
1207 my $index = 0;
1210 my $tv = $typevalue[$index];
1221 my ($index) = @_;
1224 my $tv = $typevalue[$index];
1235 my ($index) = @_;
1238 my $tv = $typevalue[$index];
1249 my ($index) = @_;
1251 my $start = find_starting_index($index);
1253 my $subsystem = $typevalue[$start];
1263 my ($index) = @_;
1265 my $i;
1266 my $start = find_starting_index($index);
1267 my $end = find_ending_index($index);
1269 my $role = "unknown";
1270 my $subsystem = get_subsystem_name($index);
1273 my $tv = $typevalue[$i];
1275 my $ptype = $1;
1276 my $pvalue = $2;
1302 my ($index) = @_;
1304 my $subsystem = get_subsystem_name($index);
1314 my ($index) = @_;
1316 my $i;
1317 my $start = find_starting_index($index);
1318 my $end = find_ending_index($index);
1323 my $tv = $typevalue[$i];
1325 my $ptype = $1;
1326 my $pvalue = $2;
1328 my $list_address = $pvalue;
1329 my $list_additional = "";
1330 my $list_role = get_list_role($i);
1366 my $role = get_maintainer_role($i);
1371 my $subsystem = get_subsystem_name($i);
1386 my ($name, $address) = @_;
1396 my ($line, $role) = @_;
1398 my ($name, $address) = parse_email($line);
1416 my ($address, $role) = @_;
1418 my @address_list = ();
1423 my $array_count = shift(@address_list);
1424 while (my $entry = shift(@address_list)) {
1435 my ($line, $role) = @_;
1437 my ($name, $address) = parse_email($line);
1438 my $email = format_email($name, $address, $email_usename);
1440 foreach my $entry (@email_to) {
1442 my ($entry_name, $entry_address) = parse_email($entry->[0]);
1467 my ($bin) = @_;
1469 foreach my $path (split(/:/, $ENV{PATH})) {
1479 my ($conf) = @_;
1481 foreach my $path (split(/:/, ".:$ENV{HOME}:.scripts")) {
1491 my ($line) = @_;
1493 my ($name, $address) = parse_email($line);
1494 my $email = format_email($name, $address, 1);
1495 my $real_name = $name;
1496 my $real_address = $address;
1518 my (@addresses) = @_;
1520 my @mapped_emails = ();
1521 foreach my $line (@addresses) {
1529 my %address_map;
1530 my (@emails) = @_;
1532 foreach my $email (@emails) {
1533 my ($name, $address) = parse_email($email);
1544 my ($cmd) = @_;
1545 my @lines = ();
1547 my $output = `$cmd`;
1555 my ($cmd) = @_;
1556 my @lines = ();
1558 my $output = `$cmd`;
1565 my (@signature_lines) = @_;
1567 my @type = @signature_lines;
1576 foreach my $signer (@signature_lines) {
1584 my ($cmd, $file) = @_;
1585 my $commits;
1586 my @lines = ();
1587 my @signatures = ();
1588 my @authors = ();
1589 my @stats = ();
1593 my $pattern = $VCS_cmds{"commit_pattern"};
1594 my $author_pattern = $VCS_cmds{"author_pattern"};
1595 my $stat_pattern = $VCS_cmds{"stat_pattern"};
1616 my ($author_ref, $authors_ref) = extract_formatted_signatures(@authors);
1617 my ($types_ref, $signers_ref) = extract_formatted_signatures(@signatures);
1623 my ($cmd) = @_;
1624 my @lines = ();
1634 my @authors = ();
1635 foreach my $line (@lines) {
1637 my $author = $1;
1638 my ($name, $address) = parse_email($author);
1651 my ($cmd) = @_;
1652 my @lines = ();
1653 my @commits = ();
1657 foreach my $line (@lines) {
1667 my ($file) = @_;
1668 my $cmd;
1669 my @commits = ();
1674 my @all_commits = ();
1680 foreach my $file_range_diff (@range) {
1682 my $diff_file = $1;
1683 my $diff_start = $2;
1684 my $diff_length = $3;
1686 for (my $i = $diff_start; $i < $diff_start + $diff_length; $i++) {
1691 foreach my $file_range_diff (@range) {
1693 my $diff_file = $1;
1694 my $diff_start = $2;
1695 my $diff_length = $3;
1707 foreach my $commit (@commits) {
1714 my $printed_novcs = 0;
1743 my ($commit, $desc) = @_;
1744 my $commit_count = 0;
1745 my $commit_authors_ref;
1746 my $commit_signers_ref;
1747 my $stats_ref;
1748 my @commit_authors = ();
1749 my @commit_signers = ();
1750 my $cmd;
1759 foreach my $signer (@commit_signers) {
1767 my ($list_ref) = @_;
1768 my @list = @$list_ref;
1772 my %selected;
1773 my %authored;
1774 my %signed;
1775 my $count = 0;
1776 my $maintained = 0;
1777 foreach my $entry (@list) {
1786 my $done = 0;
1787 my $print_options = 0;
1788 my $redraw = 1;
1800 foreach my $entry (@list) {
1801 my $email = $entry->[0];
1802 my $role = $entry->[1];
1803 my $sel = "";
1805 my $commit_author = $commit_author_hash{$email};
1806 my $commit_signer = $commit_signer_hash{$email};
1807 my $authored = 0;
1808 my $signed = 0;
1816 my $commit_author = $commit_author_hash{$email};
1817 foreach my $ref (@{$commit_author}) {
1822 my $commit_signer = $commit_signer_hash{$email};
1823 foreach my $ref (@{$commit_signer}) {
1831 my $date_ref = \$email_git_since;
1868 my $input = <STDIN>;
1872 my $rerun = 0;
1873 my @wish = split(/[, ]+/, $input);
1874 foreach my $nr (@wish) {
1876 my $sel = substr($nr, 0, 1);
1877 my $str = substr($nr, 1);
1878 my $val = 0;
1890 my $toggle = 0;
1892 for (my $i = 0; $i < $count; $i++) {
1896 for (my $i = 0; $i < $count; $i++) {
1901 for (my $i = 0; $i < $count; $i++) {
1906 for (my $i = 0; $i < $count; $i++) {
1911 for (my $i = 0; $i < $count; $i++) {
1916 for (my $i = 0; $i < $count; $i++) {
1925 my $toggle = 0;
1927 for (my $i = 0; $i < $count; $i++) {
1935 my $toggle = 0;
1937 for (my $i = 0; $i < $count; $i++) {
2036 my @new_emailto = ();
2037 foreach my $entry (@list) {
2047 my ($bool_ref) = @_;
2057 my ($email) = @_;
2059 my $matched = 0;
2060 my ($name, $address) = parse_email($email);
2087 my (@lines) = @_;
2089 my @authors = ();
2090 my @commits = ();
2091 my @subjects = ();
2093 foreach my $line (@lines) {
2095 my $author = $1;
2103 for (my $i = 0; $i < @authors; $i++) {
2104 my $exists = 0;
2105 foreach my $ref(@{$commit_author_hash{$authors[$i]}}) {
2120 my (@lines) = @_;
2122 my $commit = "";
2123 my $subject = "";
2125 foreach my $line (@lines) {
2129 my @signatures = ($line);
2130 my ($types_ref, $signers_ref) = extract_formatted_signatures(@signatures);
2131 my @types = @$types_ref;
2132 my @signers = @$signers_ref;
2134 my $type = $types[0];
2135 my $signer = $signers[0];
2139 my $exists = 0;
2140 foreach my $ref(@{$commit_signer_hash{$signer}}) {
2157 my ($role, $divisor, @lines) = @_;
2159 my %hash;
2160 my $count = 0;
2179 foreach my $line (sort {$hash{$b} <=> $hash{$a}} keys %hash) {
2180 my $sign_offs = $hash{$line};
2181 my $percent = $sign_offs * 100 / $divisor;
2191 my $fmt_percent = sprintf("%.0f", $percent);
2200 my ($file) = @_;
2202 my $authors_ref;
2203 my $signers_ref;
2204 my $stats_ref;
2205 my @authors = ();
2206 my @signers = ();
2207 my @stats = ();
2208 my $commits;
2213 my $cmd = $VCS_cmds{"find_signers_cmd"};
2224 foreach my $signer (@signers) {
2231 my $stat_pattern = $VCS_cmds{"stat_pattern"};
2234 my $added = 0;
2235 my $deleted = 0;
2236 for (my $i = 0; $i <= $#stats; $i++) {
2242 my @tmp_authors = uniq(@authors);
2243 foreach my $author (@tmp_authors) {
2247 my @list_added = ();
2248 my @list_deleted = ();
2249 foreach my $author (@tmp_authors) {
2250 my $auth_added = 0;
2251 my $auth_deleted = 0;
2252 for (my $i = 0; $i <= $#stats; $i++) {
2259 for (my $i = 0; $i < $auth_added; $i++) {
2262 for (my $i = 0; $i < $auth_deleted; $i++) {
2272 my ($file) = @_;
2274 my @signers = ();
2275 my @all_commits = ();
2276 my @commits = ();
2277 my $total_commits;
2278 my $total_lines;
2290 my $commit_count;
2291 my $commit_authors_ref;
2292 my $commit_signers_ref;
2293 my $stats_ref;
2294 my @commit_authors = ();
2295 my @commit_signers = ();
2296 my $commit = join(" -r ", @commits);
2297 my $cmd;
2308 foreach my $commit (@commits) {
2309 my $commit_count;
2310 my $commit_authors_ref;
2311 my $commit_signers_ref;
2312 my $stats_ref;
2313 my @commit_authors = ();
2314 my @commit_signers = ();
2315 my $cmd;
2331 my @blame_signers;
2333 my $commit_count;
2334 my @commit_signers = ();
2337 my $commit = join(" -r ", @commits);
2338 my $cmd;
2343 my @lines = ();
2353 my @authors = ();
2354 foreach my $line (@lines) {
2356 my $author = $1;
2368 foreach my $commit (@commits) {
2369 my $i;
2370 my $cmd = $VCS_cmds{"find_commit_author_cmd"};
2372 my @author = vcs_find_author($cmd);
2375 my $formatted_author = deduplicate_email($author[0]);
2377 my $count = grep(/$commit/, @all_commits);
2387 foreach my $signer (@signers) {
2392 foreach my $signer (@signers) {
2400 my ($file) = @_;
2402 my $exists;
2404 my $vcs_used = vcs_exists();
2407 my $cmd = $VCS_cmds{"file_exists_cmd"};
2418 my ($file) = @_;
2420 my @lsfiles = ();
2422 my $vcs_used = vcs_exists();
2425 my $cmd = $VCS_cmds{"list_files_cmd"};
2435 my (@parms) = @_;
2437 my %saw;
2443 my (@parms) = @_;
2445 my %saw;
2452 my (@file_emails) = @_;
2453 my @fmt_emails = ();
2455 foreach my $email (@file_emails) {
2457 my ($name, $address) = parse_email($email);
2462 my @nw = split(/[^A-Za-zÀ-ÿ\'\,\.\+-]/, $name);
2464 my $first = $nw[@nw - 3];
2465 my $middle = $nw[@nw - 2];
2466 my $last = $nw[@nw - 1];
2490 my $fmt_email = format_email($name, $address, $email_usename);
2497 my @lines;
2498 my %saw;
2501 my ($address, $role) = @$_;
2516 my (@parms) = @_;
2519 foreach my $line (@parms) {
2528 my $rfc822re;
2536 my $specials = '()<>@,;:\\\\".\\[\\]';
2537 my $controls = '\\000-\\037\\177';
2539 my $dtext = "[^\\[\\]\\r\\\\]";
2540 my $domain_literal = "\\[(?:$dtext|\\\\.)*\\]$rfc822_lwsp*";
2542 my $quoted_string = "\"(?:[^\\\"\\r\\\\]|\\\\.|$rfc822_lwsp)*\"$rfc822_lwsp*";
2546 my $atom = "[^$specials $controls]+(?:$rfc822_lwsp+|\\Z|(?=[\\[\"$specials]))";
2547 my $word = "(?:$atom|$quoted_string)";
2548 my $localpart = "$word(?:\\.$rfc822_lwsp*$word)*";
2550 my $sub_domain = "(?:$atom|$domain_literal)";
2551 my $domain = "$sub_domain(?:\\.$rfc822_lwsp*$sub_domain)*";
2553 my $addr_spec = "$localpart\@$rfc822_lwsp*$domain";
2555 my $phrase = "$word*";
2556 my $route = "(?:\@$domain(?:,\@$rfc822_lwsp*$domain)*:$rfc822_lwsp*)";
2557 my $route_addr = "\\<$rfc822_lwsp*$route?$addr_spec\\>$rfc822_lwsp*";
2558 my $mailbox = "(?:$addr_spec|$phrase$route_addr)";
2560 my $group = "$phrase:$rfc822_lwsp*(?:$mailbox(?:,\\s*$mailbox)*)?;\\s*";
2561 my $address = "(?:$mailbox|$group)";
2567 my $s = shift;
2581 my $s = rfc822_strip_comments(shift);
2601 my $s = rfc822_strip_comments(shift);
2609 my @r;