# Re: [PATCH] checkout: do not mention detach advice for explicit --detach option

5 messages from 2016-08-10 to 2016-08-11. Participants: Junio C Hamano, Jonathan Nieder, Stefan Beller.
Thread: https://gitlist.dev/t/43043

## Junio C Hamano, 2016-08-10 18:00

Subject: Re: [PATCH] checkout: do not mention detach advice for explicit --detach option
Message-ID: <xmqqd1lg5wsq.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqd1lg5wsq.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <20160810172800.23575-1-sbeller@google.com>

```
Stefan Beller <sbeller@google.com> writes:

> When a user asked for a detached HEAD specifically with `--detach`,
> we do not need to give advice on what a detached HEAD state entails as
> we can assume they know what they're getting into as they asked for it.

Makes sense; I agree that "Don't be noisy if you did exactly what
you were told to do." is a very sensible principle.

> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
>  builtin/checkout.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/builtin/checkout.c b/builtin/checkout.c
> index 27c1a05..fa2dce5 100644
> --- a/builtin/checkout.c
> +++ b/builtin/checkout.c
> @@ -655,7 +655,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
>  		update_ref(msg.buf, "HEAD", new->commit->object.oid.hash, NULL,
>  			   REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
>  		if (!opts->quiet) {
> -			if (old->path && advice_detached_head)
> +			if (old->path && advice_detached_head && !opts->force_detach)
>  				detach_advice(new->name);
>  			describe_detached_head(_("HEAD is now at"), new->commit);
>  		}

```

## Jonathan Nieder, 2016-08-10 17:32

Subject: Re: [PATCH] checkout: do not mention detach advice for explicit --detach option
Message-ID: <20160810173218.GB14758@google.com>
URL: https://gitlist.dev/e/20160810173218.GB14758%40google.com
In-Reply-To: <20160810172800.23575-1-sbeller@google.com>

```
Stefan Beller wrote:

> When a user asked for a detached HEAD specifically with `--detach`,
> we do not need to give advice on what a detached HEAD state entails as
> we can assume they know what they're getting into as they asked for it.

Example? Tests?

> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
>  builtin/checkout.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

I like the idea. Thanks for writing it.

> diff --git a/builtin/checkout.c b/builtin/checkout.c
> index 27c1a05..fa2dce5 100644
> --- a/builtin/checkout.c
> +++ b/builtin/checkout.c
> @@ -655,7 +655,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
>  		update_ref(msg.buf, "HEAD", new->commit->object.oid.hash, NULL,
>  			   REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
>  		if (!opts->quiet) {
> -			if (old->path && advice_detached_head)
> +			if (old->path && advice_detached_head && !opts->force_detach)
>  				detach_advice(new->name);
>  			describe_detached_head(_("HEAD is now at"), new->commit);
>  		}
> -- 

```

## Stefan Beller, 2016-08-10 17:28

Subject: [PATCH] checkout: do not mention detach advice for explicit --detach option
Message-ID: <20160810172800.23575-1-sbeller@google.com>
URL: https://gitlist.dev/e/20160810172800.23575-1-sbeller%40google.com

```
When a user asked for a detached HEAD specifically with `--detach`,
we do not need to give advice on what a detached HEAD state entails as
we can assume they know what they're getting into as they asked for it.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 builtin/checkout.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builtin/checkout.c b/builtin/checkout.c
index 27c1a05..fa2dce5 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -655,7 +655,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
 		update_ref(msg.buf, "HEAD", new->commit->object.oid.hash, NULL,
 			   REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
 		if (!opts->quiet) {
-			if (old->path && advice_detached_head)
+			if (old->path && advice_detached_head && !opts->force_detach)
 				detach_advice(new->name);
 			describe_detached_head(_("HEAD is now at"), new->commit);
 		}
-- 
2.9.2.665.gdb8bb2f


```

## Stefan Beller, 2016-08-10 22:46

Subject: Re: [PATCH] checkout: do not mention detach advice for explicit --detach option
Message-ID: <CAGZ79kb+PvU5yKfr9D0j13JWeo1mqcW=CWvVD88UrEeg1WBTpQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAGZ79kb%2BPvU5yKfr9D0j13JWeo1mqcW%3DCWvVD88UrEeg1WBTpQ%40mail.gmail.com
In-Reply-To: <20160810173218.GB14758@google.com>

```
On Wed, Aug 10, 2016 at 10:32 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Stefan Beller wrote:
>
>> When a user asked for a detached HEAD specifically with `--detach`,
>> we do not need to give advice on what a detached HEAD state entails as
>> we can assume they know what they're getting into as they asked for it.
>
> Example? Tests?

There are no tests for the advice things IIUC.
What do you mean by example?

Stefan

```

## Junio C Hamano, 2016-08-11 18:09

Subject: Re: [PATCH] checkout: do not mention detach advice for explicit --detach option
Message-ID: <xmqqzioj18kg.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqzioj18kg.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <CAGZ79kb+PvU5yKfr9D0j13JWeo1mqcW=CWvVD88UrEeg1WBTpQ@mail.gmail.com>

```
Stefan Beller <sbeller@google.com> writes:

> On Wed, Aug 10, 2016 at 10:32 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
>> Stefan Beller wrote:
>>
>>> When a user asked for a detached HEAD specifically with `--detach`,
>>> we do not need to give advice on what a detached HEAD state entails as
>>> we can assume they know what they're getting into as they asked for it.
>>
>> Example? Tests?
>
> There are no tests for the advice things IIUC.

There seem to already be tests that explicitly sets advice.* to true
like in t7201 and t7512, but even if there weren't any existing
ones, it would be appropriate to make sure that an explicit --detach
does not trigger the advice, even when advice.detachedHEAD left
unconfigured (or set to true), given that doing so is the whole
purpose of this patch, I would think.


```
