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>
This commit is contained in:
Johannes Sixt 2007-03-18 21:34:46 +01:00 committed by Junio C Hamano
parent 08727ea8bb
commit 8bf0e3d15d

View File

@ -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 {
}
}
elsif (/^Push:\s*(.*)$/) {
; # later
$it->{'PUSH'} ||= [];
push @{$it->{'PUSH'}}, $1;
}
elsif (/^Pull:\s*(.*)$/) {
$it->{'FETCH'} ||= [];
@ -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 {