Re: [PATCH 2/2] checkout: do not mention detach advice for explicit --detach option
- From
Stefan Beller <sbeller@google.com>
- Date
- Aug 15, 2016, 21:17 UTC
- Message-ID
- <CAGZ79kayr9p9qGrH563_-D-WpWvcgzmsQMrPxkxTptbLzp+4oA@mail.gmail.com>
- In-Reply-To
- <xmqqd1l9g2lv.fsf@gitster.mtv.corp.google.com>
On Mon, Aug 15, 2016 at 2:10 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 16 quoted lines
> Junio C Hamano <gitster@pobox.com> writes: > >> 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.
That is fine with me.
Thanks, Stefan
Show 37 quoted lines
>
>
>
> 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 &&