diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-11-22 20:33:02 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-11-26 10:12:01 +0100 |
commit | 56a8b34b64e47dde75314f1b648f3a6f7a325437 (patch) | |
tree | 32519b056813cdf9ab10dbd156584fd3e127b45d /tools/general_assembly.pl | |
parent | e7111ba44a3b0ca8c3a22eb5b8adaf3d766bc76c (diff) | |
download | ffmpeg-56a8b34b64e47dde75314f1b648f3a6f7a325437.tar.gz |
tools/general_assembly: implement extra GA members
Diffstat (limited to 'tools/general_assembly.pl')
-rwxr-xr-x | tools/general_assembly.pl | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/general_assembly.pl b/tools/general_assembly.pl index 4c3208ccac..3bf65f3405 100755 --- a/tools/general_assembly.pl +++ b/tools/general_assembly.pl @@ -13,6 +13,12 @@ use utf8; use DateTime; use DateTime::Format::ISO8601; +my @extra_members = ( + # entries should be of the format + # [ <name>, <email>, <date elected> ], + # ['Foo Bar', 'foo@bar', DateTime->new(year => 8613, month => 5, day => 22)], +); + sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s }; sub print_help { @@ -29,7 +35,7 @@ sub print_help { my $print_full = 1; my $print_names = 0; my $print_emails = 0; -my $date = DateTime->now()->iso8601; +my $date_str = DateTime->now()->iso8601; my $help = 0; GetOptions( @@ -37,7 +43,7 @@ GetOptions( "names" => \$print_names, "emails" => \$print_emails, "help" => \$help, - "date=s" => \$date, + "date=s" => \$date_str, "h" => \$help, ); @@ -76,7 +82,8 @@ sub get_date_range { return ($date_since, $date_until); } -my ($since, $until) = get_date_range(DateTime::Format::ISO8601->parse_datetime($date)); +my $date = DateTime::Format::ISO8601->parse_datetime($date_str); +my ($since, $until) = get_date_range($date); my @shortlog = split /\n/, decode('UTF-8', `git log --pretty=format:"%aN <%aE>" --since="$since" --until="$until" | sort | uniq -c | sort -r`, @@ -108,6 +115,13 @@ foreach my $line (@shortlog) { $assembly{$name} = $email; } +foreach my $entry (@extra_members) { + my $elected = $entry->[2]; + if ($date->is_between($elected, $elected->clone()->set_year($elected->year + 2))) { + $assembly{$entry->[0]} = $entry->[1]; + } +} + # generate the output string my @out_lines; foreach my $name (sort keys %assembly) { |