# [PATCH] remote: in case of error don't show success message.

2 messages from 2020-09-17 to 2020-09-17. Participants: Christian Schlack via GitGitGadget, Junio C Hamano.
Thread: https://gitlist.dev/t/54251

## Christian Schlack via GitGitGadget, 2020-09-17 15:27

Subject: [PATCH] remote: in case of error don't show success message.
Message-ID: <pull.848.git.git.1600356459092.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.848.git.git.1600356459092.gitgitgadget%40gmail.com

```
From: Christian Schlack <christian@backhub.co>

Suppress the message 'origin/HEAD set to master' in case of an error.

  $ git remote set-head origin -a
  error: Not a valid ref: refs/remotes/origin/master
  origin/HEAD set to master

Signed-off-by: Christian Schlack <christian@backhub.co>
---
    remote: in case of error don't show success message.
    
    Expected behaviour
    
    $ git remote set-head origin -a
    error: Not a valid ref: refs/remotes/origin/master
    
    Actual behaviour
    
    $ git remote set-head origin -a
    error: Not a valid ref: refs/remotes/origin/master
    origin/HEAD set to master
    
    I believe ... set to master should not be shown in case of an error.
    That's why I added an else to the if-condition.
    
    Signed-off-by: Christian Schlack christian@backhub.co
    [christian@backhub.co]

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-848%2Fcschlack%2Fremote-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-848/cschlack/remote-v1
Pull-Request: https://github.com/git/git/pull/848

 builtin/remote.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builtin/remote.c b/builtin/remote.c
index 542f56e387..64b4b551eb 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -1356,7 +1356,7 @@ static int set_head(int argc, const char **argv)
 			result |= error(_("Not a valid ref: %s"), buf2.buf);
 		else if (create_symref(buf.buf, buf2.buf, "remote set-head"))
 			result |= error(_("Could not setup %s"), buf.buf);
-		if (opt_a)
+		else if (opt_a)
 			printf("%s/HEAD set to %s\n", argv[0], head_name);
 		free(head_name);
 	}

base-commit: 54e85e7af1ac9e9a92888060d6811ae767fea1bc
-- 
gitgitgadget

```

## Junio C Hamano, 2020-09-17 18:39

Subject: Re: [PATCH] remote: in case of error don't show success message.
Message-ID: <xmqqpn6kqmco.fsf@gitster.c.googlers.com>
URL: https://gitlist.dev/e/xmqqpn6kqmco.fsf%40gitster.c.googlers.com
In-Reply-To: <pull.848.git.git.1600356459092.gitgitgadget@gmail.com>

```
"Christian Schlack via GitGitGadget" <gitgitgadget@gmail.com>
writes:

> diff --git a/builtin/remote.c b/builtin/remote.c
> index 542f56e387..64b4b551eb 100644
> --- a/builtin/remote.c
> +++ b/builtin/remote.c
> @@ -1356,7 +1356,7 @@ static int set_head(int argc, const char **argv)
>  			result |= error(_("Not a valid ref: %s"), buf2.buf);
>  		else if (create_symref(buf.buf, buf2.buf, "remote set-head"))
>  			result |= error(_("Could not setup %s"), buf.buf);
> -		if (opt_a)
> +		else if (opt_a)
>  			printf("%s/HEAD set to %s\n", argv[0], head_name);
>  		free(head_name);
>  	}
>

Quite straight-forward and looks obviously good.

Thanks, will queue.

```
