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