if ($info->{'PUSH'}) {
                my @pushed = map {
                        s|^refs/heads/||;
+                       s|^\+refs/heads/|+|;
                        s|:refs/heads/|:|;
                        $_;
                } @{$info->{'PUSH'}};
        } 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, $_;
                        }
                }
        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') {