blob: 4e16caff96bd0396ff3d72e8725a40ddf41faea6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/usr/bin/env perl
use strict;
use warnings;
sub git {
if (wantarray) {
chomp(my @ret = qx{git $_[0]});
return @ret;
}
else {
chomp(my $ret = qx{git $_[0]});
return $ret;
}
}
my $branch = git 'symbolic-ref HEAD';
$branch ||= 'master';
$branch =~ s:^refs/heads/::;
my @remotes = git 'remote show';
my %remotes = map { $_, "$_/$branch" } @remotes;
for my $remote (keys %remotes) {
my $remote_branch = $remotes{$remote};
my $tip = git "show-ref -s --abbrev $remote_branch";
my $merge_base = git "merge-base HEAD $remote_branch";
$merge_base = substr $merge_base, 0, 7;
next if $merge_base eq $tip;
print "$remote: $merge_base..$tip\n";
}
|