Browse Source

Teach git-remote to list pushed branches.

The configured refspecs are printed almost verbatim, i.e. both the local
and the remote branch name separated by a colon are printed; only the
prefix 'refs/heads/' is removed, like this:

  Local branch(es) pushed with 'git push'
    master refs/tags/*:refs/tags/* next:next

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Johannes Sixt 18 years ago committed by Junio C Hamano
parent
commit
8bf0e3d15d
  1. 16
      git-remote.perl

16
git-remote.perl

@ -15,6 +15,10 @@ sub add_remote_config { @@ -15,6 +15,10 @@ sub add_remote_config {
$hash->{$name}{'FETCH'} ||= [];
push @{$hash->{$name}{'FETCH'}}, $value;
}
elsif ($what eq 'push') {
$hash->{$name}{'PUSH'} ||= [];
push @{$hash->{$name}{'PUSH'}}, $value;
}
if (!exists $hash->{$name}{'SOURCE'}) {
$hash->{$name}{'SOURCE'} = 'config';
}
@ -44,7 +48,8 @@ sub add_remote_remotes { @@ -44,7 +48,8 @@ sub add_remote_remotes {
}
}
elsif (/^Push:\s*(.*)$/) {
; # later
$it->{'PUSH'} ||= [];
push @{$it->{'PUSH'}}, $1;
}
elsif (/^Pull:\s*(.*)$/) {
$it->{'FETCH'} ||= [];
@ -250,6 +255,15 @@ sub show_remote { @@ -250,6 +255,15 @@ sub show_remote {
if ($info->{'LS_REMOTE'}) {
show_mapping($name, $info);
}
if ($info->{'PUSH'}) {
my @pushed = map {
s|^refs/heads/||;
s|:refs/heads/|:|;
$_;
} @{$info->{'PUSH'}};
print " Local branch(es) pushed with 'git push'\n";
print " @pushed\n";
}
}

sub add_remote {

Loading…
Cancel
Save