Monday, March 1, 2010

zsh completion system broken for subversion/svn

I get this error:

% svn add
_arguments:comparguments:303: invalid argument: ARG


Here is a fix for this:
https://bugs.launchpad.net/ubuntu/+source/zsh/+bug/279545

The solution from the above link is:
The problem is in the subversion function file which I found in /usr/share/zsh/4.3.4/functions on my system. The minimal fix is to replace every occurrence of "/ arg/:arg:" with "/ (arg|ARG)/:arg:" in /usr/share/zsh/4.3.4/functions/Completion/Unix/_subversion; see attached patch.

Copy this file to ~/.zsh/functions and modify the file.

Also in .zshrc add the following line:
fpath=($HOME/.zsh/functions /usr/share/zsh/site-functions /usr/share/zsh/4.3.4/functions)

2 comments:

  1. Thank you, this bug annoyed me for some time. To have zsh work after a possible zsh upgrade, replace the hardcoded version "4.3.4" by "$ZSH_VERSION" in the fpath setting for .zshrc.

    ReplyDelete
  2. Excellent -- thanks for a debug, explanation and patch (though I just did the replace you mentioned -- it's only 2 items)

    ReplyDelete