#!/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"; } }