X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-remote.perl;h=01cf480221be1e5860bd701d5d17ced25766d38d;hb=ec96e0f6a4244e3bccc745eeb4cb6daa80a347e4;hp=bd70bf1ddd663db7d0af49b8513fdf234767e422;hpb=4808bec6f9b5fe414f0dbc2cc0445f54f28e9e9c;p=git.git diff --git a/git-remote.perl b/git-remote.perl index bd70bf1dd..01cf48022 100755 --- a/git-remote.perl +++ b/git-remote.perl @@ -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,16 @@ sub show_remote { if ($info->{'LS_REMOTE'}) { show_mapping($name, $info); } + if ($info->{'PUSH'}) { + my @pushed = map { + s|^refs/heads/||; + s|^\+refs/heads/|+|; + s|:refs/heads/|:|; + $_; + } @{$info->{'PUSH'}}; + print " Local branch(es) pushed with 'git push'\n"; + print " @pushed\n"; + } } sub add_remote { @@ -283,9 +298,9 @@ sub update_remote { } elsif ($name eq 'default') { undef @remotes; for (sort keys %$remote) { - my $do_fetch = $git->config_boolean("remote." . $_ . + my $do_fetch = $git->config_bool("remote." . $_ . ".skipDefaultUpdate"); - if (!defined($do_fetch) || $do_fetch ne "true") { + unless ($do_fetch) { push @remotes, $_; } } @@ -304,9 +319,21 @@ sub add_usage { exit(1); } +local $VERBOSE = 0; +@ARGV = grep { + if ($_ eq '-v' or $_ eq '--verbose') { + $VERBOSE=1; + 0 + } else { + 1 + } +} @ARGV; + if (!@ARGV) { for (sort keys %$remote) { - print "$_\n"; + print "$_"; + print "\t$remote->{$_}->{URL}" if $VERBOSE; + print "\n"; } } elsif ($ARGV[0] eq 'show') {