Re: [PATCH v2] completion: reduce overhead of clearing cached --options
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 11, 2018, 17:53 UTC
- Message-ID
- <xmqqzi01b46g.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180608212348.GA42503@aiede.svl.corp.google.com>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 48 quoted lines
> Hi,
>
> SZEDER Gábor wrote:
>
>> Being in RC phase, I'm all for aiming for a minimal solution.
>> However, I don't think that the better fix would be erm.. any "less
>> minimal":
>>
>> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
>> index f2aa484758..7aeb575cd1 100644
>> --- a/contrib/completion/git-completion.bash
>> +++ b/contrib/completion/git-completion.bash
>> @@ -3244,7 +3244,10 @@ __gitk_main ()
>> __git_complete_revlist
>> }
>>
>> -if [[ -n ${ZSH_VERSION-} ]]; then
>> +if [[ -n ${ZSH_VERSION-} ]] &&
>> + # Don't define these functions when sourced from 'git-completion.zsh',
>> + # it has its own implementations.
>> + [[ -z "${GIT_SOURCING_ZSH_COMPLETION}" ]] ; then
>
> Needs a - before the } to avoid errors in a shell where the user has
> chosen to use "set -u". See v1.7.4-rc0~159 (completion: fix zsh check
> under bash with 'set -u', 2010-10-27) for more details.
>
>> echo "WARNING: this script is deprecated, please see git-completion.zsh" 1>&2
>>
>> autoload -U +X compinit && compinit
>> diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
>> index 53cb0f934f..049d6b80f6 100644
>> --- a/contrib/completion/git-completion.zsh
>> +++ b/contrib/completion/git-completion.zsh
>> @@ -39,7 +39,7 @@ if [ -z "$script" ]; then
>> test -f $e && script="$e" && break
>> done
>> fi
>> -ZSH_VERSION='' . "$script"
>> +GIT_SOURCING_ZSH_COMPLETION=y . "$script"
>>
>> __gitcomp ()
>> {
>
> Except for that tweak,
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
> Thanks.
>
> Now it just needs a commit message. :)OK, can we see the final version of this patch so that we can work it around before 2.18.0-rc2? I am assuming that we are treating this as a Git 2.18-rc regression that needs to be fixed before the final?
Thanks.