blob: 449041aed85fa4b2bcb4101ef34c1fc880b35dc8 [file] [log] [blame]
#!/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, $last);
my (@candidate);
while (<>) {
if (/^\* ([a-z][a-z]\/[-a-zA-Z0-9_]+) \(([-0-9]{10})\) \d+ commit/) {
$topic = $last = $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;
}
if (defined $last && @candidate && $candidate[-1][0] eq $last) {
if (/Will merge to 'master'/i) {
$candidate[-1][3] = "*";
}
}
}
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->[3]$topic->[0]\n";
}
}