Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Git completion slowness

Nikolai Weibull wrote:
> On Fri, Dec 10, 2010 at 12:07, Frank Terbeck <ft@xxxxxxxxxxxxxxxxxxx> wrote:
>> We've heard people complaining about _git performance on IRC for a while
>> now. I have started to rewrite the _git file related completions some
>> time ago, but have since been swamped at work. So that has slowed down
>> to a halt.
>> I'll attach the code to this mail though; maybe it'll be useful to
>> someone (search for "Git file listing helpers" to find the helper
>> functions). It doesn't have a helper for pathspecs yet, which the
>> git-checkout completion (and others) may need.
>> Also, it's something I experimented with for only a short while. The
>> completions did work for me in my limited set of use-cases - they are
>> probably not perfect, yet. But they scaled well even on huge
>> repositories with many *many* files (like the linux kernel's git
>> repository).

(The ML software ate my mail, due to my attaching the code...)

> Iâve been rewriting _git for a while now.  Iâve updated all the Main
> Porcelain Commands.  Iâm currently stuck on something as unimportant
> as git-config, but I want to get everything right and Iâm doing it all
> in man page order.  Iâll hopefully have a delayed Christmas gift for
> you all at the beginning of 2011.  Iâll take a look at your changes
> and integrate them if they are still applicable.

Yay! :)

> My main problem right now is that Iâm working off of the Debian Zsh
> Git repository where I donât have write permissions.  Iâd like to set
> up a Zsh Git repository at GitHub so that I can more easily distribute
> my changes, but I havenât had time to look into setting this up.
> Perhaps someone can explain how you set up a CVS-to-Git mirror on
> GitHub?

There's already a regularly updated git mirror of the zsh CVS sources at


When I was working on a larger update of `vcs_info', I cloned that one
and published the result at github. That worked rather smoothly.

> Iâll also try to set up zstyles to the effect of allowing you to
> disable potentially costly completions.

That was something I wanted to do, too. We'll need those properly
documented to be able to point people to how to workaround problems with
costly actions.

Regards, Frank

In protocol design, perfection has been reached not when there is
nothing left to add, but when there is nothing left to take away.
                                                  -- RFC 1925

Messages sorted by: Reverse Date, Date, Thread, Author