threads / bug / 10078

BUG: git remote show origin => error code 1

Subject: BUG: git remote show origin => error code 1

## tl;dr

4 messages between Sep 29, 2007 and Sep 30, 2007.

replies: 3people: 2as markdown or json

Jari Aalto· Sep 29, 2007, 18:13 UTC · lore
Consider this:
    $ git remote show origin
    No such remote origin
    $ echo $?
    0

Perhaps the code should return non-zero in this case, so that shell scripts could use construct:

    git remote show origin; || <another action>
Jari
-- 
Welcome to FOSS revolution: we fix and modify until it shines
Junio C Hamano· Sep 29, 2007, 22:28 UTC · re: Jari Aalto · lore

Re: BUG: git remote show origin => error code 1

Jari Aalto <jari.aalto@cante.net> writes:
Show 6 quoted lines
> Consider this:
> ...
> Jari
>
> -- 
> Welcome to FOSS revolution: we fix and modify until it shines
Patches are welcome ;-)
Jari Aalto· Sep 30, 2007, 06:18 UTC · re: Jari Aalto · lore

[PATCH] prune, rm, show remote: exit with error code 1 on failure

- (rm_remote): Return error code 1 on failure.
- (show_remote): Return error code 1 on failure.
- (prune_remote): Return error code 1 on failure.
- (@ARGV eq show):
  exit in case of 'No such remote'.
- (@ARGV eq prune):
- exitin case of 'No such remote'.
- (@ARGV eq rm):
- exit in case of 'No such remote'.
Signed-off-by: Jari Aalto <jari.aalto AT cante.net>
---
 git-remote.perl |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/git-remote.perl b/git-remote.perl
index b7c1e01..84a9b5c 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);
@@ -235,7 +235,7 @@ 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);
@@ -320,7 +320,7 @@ sub rm_remote {
 	my ($name) = @_;
 	if (!exists $remote->{$name}) {
 		print STDERR "No such remote $name\n";
-		return;
+		return 1;
 	}
 
 	$git->command('config', '--remove-section', "remote.$name");
@@ -381,9 +381,12 @@ 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);
+		my $ret = show_remote($ARGV[$i], $ls_remote);
+		$status = $ret if $ret;
 	}
+	exit($status);
 }
 elsif ($ARGV[0] eq 'update') {
 	if (@ARGV <= 1) {
@@ -409,9 +412,12 @@ 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);
+		my $ret = prune_remote($ARGV[$i], $ls_remote);
+                $status = $ret if $ret;
 	}
+        exit($status);
 }
 elsif ($ARGV[0] eq 'add') {
 	my %opts = ();
@@ -455,7 +461,8 @@ elsif ($ARGV[0] eq 'rm') {
 		print STDERR "Usage: git remote rm <remote>\n";
 		exit(1);
 	}
-	rm_remote($ARGV[1]);
+	my $status = rm_remote($ARGV[1]);
+        exit($status) if $status;
 }
 else {
 	print STDERR "Usage: git remote\n";
-- 
1.5.3.2.81.g17ed
Junio C Hamano· Sep 30, 2007, 09:54 UTC · re: Jari Aalto · lore

Re: [PATCH] prune, rm, show remote: exit with error code 1 on failure

Thanks.

Because this is a bugfix patch, we would want the fix applied to 'maint' to become part of 1.5.3.4, but your patch contained the fix for "remote rm" that is not (and will not be) part of 'maint'.

I split the patch into two, applied the bits without "rm" part to 'maint', merged the result into 'master' and applied the fix for "rm" on 'master'.

← back to recent threads