Message ID | 0101018ba5f0f72f-9adc382e-3e73-4fa1-9b7e-8d18dd1a1a50-000000@us-west-2.amazonses.com |
---|---|
State | Accepted |
Commit | 575efc0406864542a65aa3f31ebe8eb0bbef5087 |
Headers | show |
Series | tools/general_assembly.pl - add options to print names, emails or both | expand |
Context | Check | Description |
---|---|---|
andriy/commit_msg_x86 | warning | The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ". |
yinshiyou/commit_msg_loongarch64 | warning | The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ". |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On date Monday 2023-11-06 18:41:54 +0000, ffmpeg-devel Mailing List wrote: > Signed-off-by: Cosmin Stejerean <cosmin@cosmin.at> > --- > tools/general_assembly.pl | 43 +++++++++++++++++++++++++++++++++++++-- > 1 file changed, 41 insertions(+), 2 deletions(-) > > diff --git a/tools/general_assembly.pl b/tools/general_assembly.pl > index 898a6262ef..8204d89794 100644 > --- a/tools/general_assembly.pl > +++ b/tools/general_assembly.pl > @@ -6,9 +6,41 @@ use strict; > use POSIX qw(strftime); > use Encode qw(decode); > use Data::Dumper; > +use Getopt::Long; > + > +binmode(STDOUT, ":utf8"); > > sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s }; > > +sub print_help { > + print "Usage: $0 [options]\n"; > + print "Options:\n"; > + print " --names Print only the names\n"; > + print " --emails Print only the email addresses\n"; > + print " --full Print both names and email addresses (default)\n"; > + print " -h, --help Show this help message\n"; > + exit; while at it: use Pod::Usage; ... Getopt::Long::Configure ("bundling"); ... 'help|usage|h' => sub { pod2usage( -verbose => 1, -exitval => 0) }, > +} > + > +my $print_full = 1; > +my $print_names = 0; > +my $print_emails = 0; > +my $help = 0; > + > +GetOptions( > + "full" => \$print_full, > + "names" => \$print_names, > + "emails" => \$print_emails, > + "help" => \$help, > + "h" => \$help, > +); > + > +print_help() if $help; > + > +if ($print_names || $print_emails) { > + $print_full = 0; > +} > + > my @shortlog = split /\n/, decode('UTF-8', `git log --pretty=format:"%aN <%aE>" --since="last 36 months" | sort | uniq -c | sort -r`, Encode::FB_CROAK); > my %assembly = (); > > @@ -35,6 +67,13 @@ foreach my $line (@shortlog) { > } > > printf("# %s %s", strftime("%Y-%m-%d", localtime), decode('UTF-8', `git rev-parse HEAD`, Encode::FB_CROAK)); > -foreach my $email (sort values %assembly) { > - printf("%s\n", $email); > +foreach my $name (sort keys %assembly) { > + my $email = $assembly{$name}; > + if ($print_full) { > + printf("%s <%s>\n", $name, $email); > + } elsif ($print_names) { > + printf("%s\n", $name); > + } elsif ($print_emails) { > + printf("%s\n", $email); > + } LGTM anyway.
Pushed. And sorry, I didn't notice that the ML mangled your email :/
diff --git a/tools/general_assembly.pl b/tools/general_assembly.pl index 898a6262ef..8204d89794 100644 --- a/tools/general_assembly.pl +++ b/tools/general_assembly.pl @@ -6,9 +6,41 @@ use strict; use POSIX qw(strftime); use Encode qw(decode); use Data::Dumper; +use Getopt::Long; + +binmode(STDOUT, ":utf8"); sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s }; +sub print_help { + print "Usage: $0 [options]\n"; + print "Options:\n"; + print " --names Print only the names\n"; + print " --emails Print only the email addresses\n"; + print " --full Print both names and email addresses (default)\n"; + print " -h, --help Show this help message\n"; + exit; +} + +my $print_full = 1; +my $print_names = 0; +my $print_emails = 0; +my $help = 0; + +GetOptions( + "full" => \$print_full, + "names" => \$print_names, + "emails" => \$print_emails, + "help" => \$help, + "h" => \$help, +); + +print_help() if $help; + +if ($print_names || $print_emails) { + $print_full = 0; +} + my @shortlog = split /\n/, decode('UTF-8', `git log --pretty=format:"%aN <%aE>" --since="last 36 months" | sort | uniq -c | sort -r`, Encode::FB_CROAK); my %assembly = (); @@ -35,6 +67,13 @@ foreach my $line (@shortlog) { } printf("# %s %s", strftime("%Y-%m-%d", localtime), decode('UTF-8', `git rev-parse HEAD`, Encode::FB_CROAK)); -foreach my $email (sort values %assembly) { - printf("%s\n", $email); +foreach my $name (sort keys %assembly) { + my $email = $assembly{$name}; + if ($print_full) { + printf("%s <%s>\n", $name, $email); + } elsif ($print_names) { + printf("%s\n", $name); + } elsif ($print_emails) { + printf("%s\n", $email); + } }
Signed-off-by: Cosmin Stejerean <cosmin@cosmin.at> --- tools/general_assembly.pl | 43 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-)