Junio C Hamano <[email protected]> writes:
> Jeff King <[email protected]> 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 &&
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html