Subject: Re: Call git directly to bypass possible functions under the same name
From: Frank Terbeck <[email-masked]>
To: Valni <[email-masked]>
Cc: [email-masked]
Date: Thu, 04 Feb 2016 22:19:05 +0100
List-Id: Zsh Workers List <zsh-workers.zsh.org>

Valni wrote:
> Hopefully I have reached the right mailing list and posted a valid
> question/issue.

This would probably be better suited on the zsh-users list, but you're
in the right vicinity. :)

> ---
>
> I stumbled upon an issue today when creating a function which adds SSH
> keys to an agent on demand. This function should (and does, in `zsh -f`)
> only be called when git/ssh is used. The function also has the same name
> as the program.
>
> However, I use a zsh framework which depends on vcs_info, which causes
> some issue (https://github.com/Eriner/zim/issues/30).
>
> When git is called from vcs_info, it does not appear to call it
> directly, so any definitions of it, such as a function, will take priority.
>
> This results in the function (seen in the first post of the GitHub
> issue) being called when any (or none at all) command is called, because
> the framework checks if the current directory is used by git using vcs_info.
>
> Could vcs_info be changed so that it calls git directly? Thus far, this
> appears to be the cause of the issue.

We are not going to change the way that vcs_info works with respect to
this. If you got a wrapper that is incompatible with the way that git
works, use a "command" style to force the command used by vcs_info to
its full path name:

   % zstyle ':vcs_info:git:*:-all-' command =git

Regards, Frank