git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 15, 2016, 21:10 UTC
Message-ID
<xmqqd1l9g2lv.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<xmqqh9alg2uh.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 12 quoted lines
> Jeff King <peff@peff.net> writes:
>
>> I don't think doing it this way is _wrong_. It just feels sort of
>> pointlessly over-engineered. It's also a little weird that all of the:
>>
>>   if (advice_foo)
>>
>> will trigger because "advice_foo" is set to -1. I think it does the
>> right thing, but it feels like a bug (the value is now a tri-state, and
>> we silently collapse two states into one).
>
> Guilty as charged.  I do agree that this is over-engineered.
Let's discard 1/2 and amend 2/2 with this incremental.
 builtin/checkout.c         | 3 +--
 t/t2020-checkout-detach.sh | 5 -----
 2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 2a32b5f..337c35a 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -656,8 +656,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
 			   REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
 		if (!opts->quiet) {
 			if (old->path &&
-			    (advice_detached_head == 1 ||
-			     (advice_detached_head == -1 && !opts->force_detach)))
+			    advice_detached_head == 1 && !opts->force_detach)
 				detach_advice(new->name);
 			describe_detached_head(_("HEAD is now at"), new->commit);
 		}
diff --git a/t/t2020-checkout-detach.sh b/t/t2020-checkout-detach.sh
index fe311a1..fbb4ee9 100755
--- a/t/t2020-checkout-detach.sh
+++ b/t/t2020-checkout-detach.sh
@@ -180,11 +180,6 @@ test_expect_success 'no advice given for explicit detached head state' '
 	git checkout child && git checkout --detach HEAD^0 >actual 2>&1 &&
 	test_cmp expect.no-advice actual &&
 
-	# explicitly ask advice
-	test_config advice.detachedHead true &&
-	git checkout child && git checkout --detach HEAD^0 >actual 2>&1 &&
-	test_cmp expect.advice actual &&
-
 	# explicitly decline advice
 	test_config advice.detachedHead false &&
 	git checkout child && git checkout --detach HEAD^0 >actual 2>&1 &&
Previous: Junio C HamanoNext: Jeff King
Message 7 of 10 in “advice: preset advice preferences to -1”
  1. 1/2 advice: preset advice preferences to -1Stefan Beller, Aug 15, 2016
  2. 2/2 checkout: do not mention detach advice for explicit --detach optionStefan Beller, Aug 15, 2016
  3. Jeff KingAug 15, 2016
  4. Stefan BellerAug 15, 2016
  5. Jeff KingAug 15, 2016
  6. Junio C HamanoAug 15, 2016
  7. Junio C HamanoAug 15, 2016
  8. Jeff KingAug 15, 2016
  9. Junio C HamanoAug 15, 2016
  10. Stefan BellerAug 15, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.