diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-09-29 23:32:36 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-09-29 23:32:36 -0700 |
commit | 2af89f12c666634e92cd79a6c1af6acc34104c34 (patch) | |
tree | 6f5ccd286e8741b41d3384025e1df43194ff2feb /git-remote.perl | |
parent | f8babc4dabebebd9e95537df6da0408c1c178615 (diff) | |
parent | f4bb20cc99fe18ba0e7dd421f1d95a05c1cbbc93 (diff) | |
download | git-2af89f12c666634e92cd79a6c1af6acc34104c34.tar.gz |
Merge branch 'maint'
* maint:
git-remote: exit with non-zero status after detecting errors.
rebase -i: squash should retain the authorship of the _first_ commit
git-add--interactive: Improve behavior on bogus input
git-add--interactive: Allow Ctrl-D to exit
Diffstat (limited to 'git-remote.perl')
-rwxr-xr-x | git-remote.perl | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/git-remote.perl b/git-remote.perl index b7c1e01d7d..79941e40fa 100755 --- a/git-remote.perl +++ b/git-remote.perl @@ -218,7 +218,7 @@ sub prune_remote { my ($name, $ls_remote) = @_; if (!exists $remote->{$name}) { print STDERR "No such remote $name\n"; - return; + return 1; } my $info = $remote->{$name}; update_ls_remote($ls_remote, $info); @@ -229,13 +229,14 @@ sub prune_remote { my @v = $git->command(qw(rev-parse --verify), "$prefix/$to_prune"); $git->command(qw(update-ref -d), "$prefix/$to_prune", $v[0]); } + return 0; } sub show_remote { my ($name, $ls_remote) = @_; if (!exists $remote->{$name}) { print STDERR "No such remote $name\n"; - return; + return 1; } my $info = $remote->{$name}; update_ls_remote($ls_remote, $info); @@ -265,6 +266,7 @@ sub show_remote { print " Local branch(es) pushed with 'git push'\n"; print " @pushed\n"; } + return 0; } sub add_remote { @@ -381,9 +383,11 @@ elsif ($ARGV[0] eq 'show') { print STDERR "Usage: git remote show <remote>\n"; exit(1); } + my $status = 0; for (; $i < @ARGV; $i++) { - show_remote($ARGV[$i], $ls_remote); + $status |= show_remote($ARGV[$i], $ls_remote); } + exit($status); } elsif ($ARGV[0] eq 'update') { if (@ARGV <= 1) { @@ -409,9 +413,11 @@ elsif ($ARGV[0] eq 'prune') { print STDERR "Usage: git remote prune <remote>\n"; exit(1); } + my $status = 0; for (; $i < @ARGV; $i++) { - prune_remote($ARGV[$i], $ls_remote); + $status |= prune_remote($ARGV[$i], $ls_remote); } + exit($status); } elsif ($ARGV[0] eq 'add') { my %opts = (); |