lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 05 Nov 2013 10:22:46 +0800 From: Chen Gang <gang.chen@...anux.com> To: Joe Perches <joe@...ches.com> CC: Chen Gang F T <chen.gang.flying.transformer@...il.com>, Andrew Morton <akpm@...ux-foundation.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: [PATCH -next] get_maintainer: Improve "Author:" rolestats On 11/05/2013 05:54 AM, Joe Perches wrote: > Add this to "try this"... > > Chen Gang's defect is because his git repository branch > had a commit he authored but where did not add his signature. > Hmm... for pure next-20131101 tree in my git directory and the demo patches in attachment, it will cause this issue. And excuse me, I am not quite familiar with git, could you provide more details (e.g. where the special difference of the demo patches or the pure next-20131101 tree in my git directory)? thanks. > Also, there's a defect in function vcs_find_signers. > It should only return the commit count and array references. > > If there are no signers in the commit history interval specified, > then the "authors" array is added to the "signers" array and > returned as a single array. > > Use references instead. > > Make sure that references are defined in the places > that vcs_find_signers is called. > After apply the patch below, it can work well. Tested-by Chen Gang <gang.chen@...anux.com> > Signed-off-by: Joe Perches <joe@...ches.com> > --- > scripts/get_maintainer.pl | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) > > diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl > index ee9adb8..9c3986f 100755 > --- a/scripts/get_maintainer.pl > +++ b/scripts/get_maintainer.pl > @@ -128,7 +128,7 @@ my %VCS_cmds_git = ( > "blame_commit_pattern" => "^([0-9a-f]+) ", > "author_pattern" => "^GitAuthor: (.*)", > "subject_pattern" => "^GitSubject: (.*)", > - "stat_pattern" => "(\\d+)\\t(\\d+)\\t\$file", > + "stat_pattern" => "^(\\d+)\\t(\\d+)\\t\$file\$", > ); > > my %VCS_cmds_hg = ( > @@ -156,7 +156,7 @@ my %VCS_cmds_hg = ( > "blame_commit_pattern" => "^([ 0-9a-f]+):", > "author_pattern" => "^HgAuthor: (.*)", > "subject_pattern" => "^HgSubject: (.*)", > - "stat_pattern" => "(\\d+)\t(\\d+)\t\$file", > + "stat_pattern" => "^(\\d+)\t(\\d+)\t\$file\$", > ); > > my $conf = which_conf(".get_maintainer.conf"); > @@ -1297,7 +1297,7 @@ sub vcs_find_signers { > > # print("stats: <@stats>\n"); > > - return (0, @signatures, @authors) if !@...natures; > + return (0, \@signatures, \@authors, \@stats) if !@...natures; > > save_commits_by_author(@lines) if ($interactive); > save_commits_by_signer(@lines) if ($interactive); > @@ -1880,9 +1880,10 @@ sub vcs_file_signoffs { > $cmd =~ s/(\$\w+)/$1/eeg; # interpolate $cmd > > ($commits, $signers_ref, $authors_ref, $stats_ref) = vcs_find_signers($cmd, $file); > - @signers = @{$signers_ref}; > - @authors = @{$authors_ref}; > - @stats = @{$stats_ref}; > + > + @signers = @{$signers_ref} if defined $signers_ref; > + @authors = @{$authors_ref} if defined $authors_ref; > + @stats = @{$stats_ref} if defined $stats_ref; > > # print("commits: <$commits>\nsigners:<@signers>\nauthors: <@authors>\nstats: <@stats>\n"); > > @@ -1965,8 +1966,8 @@ sub vcs_file_blame { > $cmd =~ s/(\$\w+)/$1/eeg; #substitute variables in $cmd > > ($commit_count, $commit_signers_ref, $commit_authors_ref, $stats_ref) = vcs_find_signers($cmd, $file); > - @commit_authors = @{$commit_authors_ref}; > - @commit_signers = @{$commit_signers_ref}; > + @commit_authors = @{$commit_authors_ref} if defined $commit_authors_ref; > + @commit_signers = @{$commit_signers_ref} if defined $commit_signers_ref; > > push(@signers, @commit_signers); > } else { > @@ -1983,8 +1984,8 @@ sub vcs_file_blame { > $cmd =~ s/(\$\w+)/$1/eeg; #substitute variables in $cmd > > ($commit_count, $commit_signers_ref, $commit_authors_ref, $stats_ref) = vcs_find_signers($cmd, $file); > - @commit_authors = @{$commit_authors_ref}; > - @commit_signers = @{$commit_signers_ref}; > + @commit_authors = @{$commit_authors_ref} if defined $commit_authors_ref; > + @commit_signers = @{$commit_signers_ref} if defined $commit_signers_ref; > > push(@signers, @commit_signers); > } > > > > -- Chen Gang View attachment "1.unused.patch" of type "text/x-patch" (1156 bytes) View attachment "4.kgdb_extend.patch" of type "text/x-patch" (1505 bytes)
Powered by blists - more mailing lists