threads / patch / 30015

v2Fix git-completion.bash for use in zsh

Subject: [PATCH v2] Fix git-completion.bash for use in zsh

## tl;dr

4 messages between Mar 21, 2012 and Apr 7, 2012. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Alex Merry· Mar 21, 2012, 11:06 UTC · lore
zsh treats
  local some_var=()
as a function declaration, rather than an array declaration (although
its documentation does not suggest that this should be the case).
With zsh 4.3.15 on Fedora Core 15, this causes
  __git_ps1 " (%s)"
to produce the message
  local:2: command not found: svn_url_pattern
when GIT_PS1_SHOWUPSTREAM="auto", due to the line
  local svn_remote=() svn_url_pattern count n
Simply doing
  local some_var
  some_var=()
fixes the issue.
Signed-off-by: Alex Merry <dev@randomguy3.me.uk>
---
Here it is again, with a better commit message, and no whitespace issues (hopefully).
 contrib/completion/git-completion.bash |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Show changes to contrib/completion/git-completion.bash +2 −1
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 0acbdda..092a34f 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -94,8 +94,9 @@ __gitdir ()
 __git_ps1_show_upstream ()
 {
 	local key value
-	local svn_remote=() svn_url_pattern count n
+	local svn_remote svn_url_pattern count n
 	local upstream=git legacy="" verbose=""
+	svn_remote=()
 
 	# get some config options from git-config
 	local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')"
-- 
1.7.6.5
Junio C Hamano· Mar 21, 2012, 17:05 UTC · re: Alex Merry · lore

Re: [PATCH v2] Fix git-completion.bash for use in zsh

Alex Merry <dev@randomguy3.me.uk> writes:
Show 11 quoted lines
> zsh treats
>   local some_var=()
> as a function declaration, rather than an array declaration (although
> its documentation does not suggest that this should be the case).
>
> With zsh 4.3.15 on Fedora Core 15, this causes
>   __git_ps1 " (%s)"
> to produce the message
>   local:2: command not found: svn_url_pattern
> when GIT_PS1_SHOWUPSTREAM="auto", due to the line
>   local svn_remote=() svn_url_pattern count n
Thanks, will queue.  Felipe, comments?
Show 29 quoted lines
> Simply doing
>   local some_var
>   some_var=()
> fixes the issue.
>
> Signed-off-by: Alex Merry <dev@randomguy3.me.uk>
> ---
>
> Here it is again, with a better commit message, and no whitespace issues (hopefully).
>
>
>  contrib/completion/git-completion.bash |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 0acbdda..092a34f 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -94,8 +94,9 @@ __gitdir ()
>  __git_ps1_show_upstream ()
>  {
>  	local key value
> -	local svn_remote=() svn_url_pattern count n
> +	local svn_remote svn_url_pattern count n
>  	local upstream=git legacy="" verbose=""
> +	svn_remote=()
>  
>  	# get some config options from git-config
>  	local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')"
Felipe Contreras· Mar 25, 2012, 17:47 UTC · re: Junio C Hamano · lore

Re: [PATCH v2] Fix git-completion.bash for use in zsh

On Wed, Mar 21, 2012 at 7:05 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 15 quoted lines
> Alex Merry <dev@randomguy3.me.uk> writes:
>
>> zsh treats
>>   local some_var=()
>> as a function declaration, rather than an array declaration (although
>> its documentation does not suggest that this should be the case).
>>
>> With zsh 4.3.15 on Fedora Core 15, this causes
>>   __git_ps1 " (%s)"
>> to produce the message
>>   local:2: command not found: svn_url_pattern
>> when GIT_PS1_SHOWUPSTREAM="auto", due to the line
>>   local svn_remote=() svn_url_pattern count n
>
> Thanks, will queue.  Felipe, comments?
Looks good to me. Also, I tested this, and it worked.
-- 
Felipe Contreras
Felipe Contreras· Apr 7, 2012, 13:09 UTC · re: Alex Merry · lore

Re: [PATCH v2] Fix git-completion.bash for use in zsh

On Wed, Mar 21, 2012 at 1:06 PM, Alex Merry <dev@randomguy3.me.uk> wrote:
Show 11 quoted lines
>  __git_ps1_show_upstream ()
>  {
>        local key value
> -       local svn_remote=() svn_url_pattern count n
> +       local svn_remote svn_url_pattern count n
>        local upstream=git legacy="" verbose=""
> +       svn_remote=()
>
>        # get some config options from git-config
>        local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')"
> --
Actually, a more proper way to do this is 'local -a svn_remote'.
Cheers.
-- 
Felipe Contreras

← back to recent threads