You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
882 B
44 lines
882 B
![]()
15 years ago
|
#!/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";
|
||
|
}
|
||
|
}
|
||
|
|