Se você comparar a árvore de fontes do zsh-5.0.5 com a do zsh-5.0.7 , existem algumas mudanças em relação ao git conclusão:
$ git diff --stat zsh-5.0.5..zsh-5.0.7 | grep _git
Completion/Unix/Command/_git | 353 +++--
Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 158 ++-
As notas de lançamento mencionam apenas as alterações mais importantes, mas nem todas as alterações de código. Aqui estão as mensagens de commits que mencionam git (eu não pesquisei quais são relevantes para o seu problema ...):
33180: _git: add missing --3way option
33177: _git: fix typo in git-apply
33178: _git: updates for Git 2.1.0
33176: _git: Add missing --list to git-tag
33179: _git: updates for Git 2.0.0
33184: vcs_info git: consider patches for rebase
33188: vcs_info git: set rrn before using it
33150: completion git: fix send-email --confirm values
33145: vcs_info git: fix applied-string name
33147: vcs_info git: detect revert or cherry-pick with multiple commits
33151: completion git: support aliases when \n exist
33047: use git to simplify massively source distribution file selection
32662: vcs_info git: Fix stagedstr for empty repos
32597: vcs_info git: Describe detached heads symbolically.
32502: fix typo in argument list for git completio
32398: _git: completion updates up to latest git v1.9.0
32397: _git: fix __git_submodules to only use the actual name of the submodule
32395: _git: diff: refactor and fix wrong completions
32396: _git: fix __git_committish_range_{first,last} and __git_is_committish_range
Eu sou capaz de reproduzir o comportamento que você descreve com zsh-5.0.5 , mas com zsh-5.0.7 git difftool --cac<TAB>
conclui como esperado para git difftool --cached
.
Portanto, encorte a história: Atualize sua instalação para o zsh-5.0.7.