Meta/candidates: show number of patches in candidate topics

todo
Junio C Hamano 2010-07-08 07:55:01 -07:00
parent a971895762
commit 949c621cf0
1 changed files with 43 additions and 0 deletions

43
candidates Executable file
View File

@ -0,0 +1,43 @@
#!/usr/bin/perl
# Feed whats-cooking to this to find what to merge to 'master'

sub merged {
my ($topic, $base) = @_;
my $fh;
(open $fh, "-|", qw(git rev-list), "^$base", $topic)
or die "$!";
my $count = 0;
while (<$fh>) {
$count++;
}
(close $fh)
or die "$! (after $count for $topic)";
return $count;
}

my ($topic, $topic_date);
my (@candidate);

while (<>) {
if (/^\* ([a-z][a-z]\/[-a-z0-9_]+) \(([-0-9]{10})\) \d+ commit/) {
$topic = $1;
$topic_date = $2;
next;
}
if (defined $topic) {
if (/^ \(merged to 'next' on ([-0-9]{10}) at/) {
push @candidate, [$topic, $1, $topic_date];
next;
}
$topic = undef;
$topic_date = undef;
}
}

for $topic (sort { ($a->[1] cmp $b->[1]) || ($a->[2] cmp $b->[2]) } @candidate) {
my $count = merged($topic->[0], 'master');
if ($count) {
print "$topic->[1] $topic->[2] ($count) $topic->[0]\n";
}
}