From: SZEDER Gábor Date: Tue, 21 May 2013 22:41:19 GMT Subject: Re: [PATCH] prompt: fix show upstream with svn and zsh Message-ID: <20130521224119.GF30969@goldbirke> In-Reply-To: <1369169667-25166-1-git-send-email-t.gummerer@gmail.com> Hi, On Tue, May 21, 2013 at 10:54:27PM +0200, Thomas Gummerer wrote: > Currently the __git_ps1 git prompt gives the following error with a > repository converted by git-svn, when used with zsh: > > __git_ps1_show_upstream:19: bad pattern: svn_remote[ > > This was introduced by 6d158cba (bash completion: Support "divergence > from upstream" messages in __git_ps1), when the script was for bash > only. Make it compatible with zsh. What is the actual cause of this problem/incompatibility and how/why do these changes fix it? > - svn_remote[ $((${#svn_remote[@]} + 1)) ]="$value" > + svn_remote[$((${#svn_remote[@]} + 1))]="$value" I mean, did zsh really complained because of the space after the '[' ?! > @@ -146,8 +146,8 @@ __git_ps1_show_upstream () > svn*) > # get the upstream from the "git-svn-id: ..." in a commit message > # (git-svn uses essentially the same procedure internally) > - local svn_upstream=($(git log --first-parent -1 \ > - --grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null)) > + set -a svn_upstream "$(git log --first-parent -1 \ > + --grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null)" > if [[ 0 -ne ${#svn_upstream[@]} ]]; then > svn_upstream=${svn_upstream[ ${#svn_upstream[@]} - 2 ]} If so, then what about this one? Best, Gábor