threads / patch / 43043

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

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

## tl;dr

5 messages between Aug 10, 2016 and Aug 11, 2016. Diffs are folded; open one to read it.

replies: 4people: 3as markdown or json

Stefan Beller· Aug 10, 2016, 17:28 UTC · lore

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

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(-)
Show changes to builtin/checkout.c +1 −1
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
Junio C Hamano· Aug 10, 2016, 18:00 UTC · re: Stefan Beller · lore
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.

Show 18 quoted lines
> 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· Aug 10, 2016, 17:32 UTC · re: Stefan Beller · lore
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.
Show 14 quoted lines
> 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· Aug 10, 2016, 22:46 UTC · re: Jonathan Nieder · lore
On Wed, Aug 10, 2016 at 10:32 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 7 quoted lines
> 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· Aug 11, 2016, 18:09 UTC · re: Stefan Beller · lore
Stefan Beller <sbeller@google.com> writes:
Show 10 quoted lines
> 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.

← back to recent threads