From: Felipe Contreras <felipe.contreras@gmail.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Ramkumar Ramachandra <artagnon@gmail.com>,
Git List <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [QUERY] Why do we have git-completion.zsh?
Date: Sat, 20 Apr 2013 17:39:31 -0500 [thread overview]
Message-ID: <CAMP44s3yCW-pHVHc9WfL1BC7BKmnXxZ1WQyPRAMnx967=74_Kg@mail.gmail.com> (raw)
In-Reply-To: <20130420185329.GB8586@elie.Belkin>
On Sat, Apr 20, 2013 at 1:53 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Jonathan Nieder wrote:
>> Ramkumar Ramachandra wrote:
>
>>> However, I don't understand why we
>>> maintain it, because there's a comprehensive first-class completer in
>>> ZSH core [1] which I use all the time. Shouldn't the completion folks
>>> be contributing to this instead?
>>
>> Only if they want to.
> [...]
>> http://thread.gmane.org/gmane.comp.version-control.git/210022/focus=210024
>
> Sorry, wrong link. Here's a better one:
>
> http://www.zsh.org/mla/workers/2011/msg00497.html
>
> More fundamentally, your question seems to assume some kind of shared
> plan regarding what people work on, rather than each person choosing
> to work on what they consider valuable without having to justify it to
> others. I am very happy with Felipe's work on git's completion code
> and don't think it does any harm to efforts elsewhere.
To complement the reason; the zsh folks (or perhaps it's only one; who
works on the git stuff), absolutely prioritize "correctness" over
speed, that means if it takes ten seconds to list all the possible
files to complete, grouped nicely, that's exactly what they'll do,
instead of the way the bash completion does, which lists the most
likely files, which takes milliseconds.
I found zsh's completion unbearably slow, which is ironic; git is the
fastest DSCM on Earth, and they blow the performance away by making
the completion dead slow, to the point where the completion is several
orders of magnitude slower than the actual command. To me, the whole
point of the completion is to make the work faster, and if the
completion takes longer than me typing it, what's the point of it?
And I'm not the only one, when I contributed this stuff to
oh-my-zsh[1] I got a very positive response.
I couldn't convince them of this obvious fact, so I choose git's bash
fast completion.
I have patches to improve the zsh thin wrapper to give more
information, zsh style, in a way that is superior to zsh's git
completion, but I'm still not happy with them, I want the user to be
able to configure the output so it's not totally bloated like in zsh,
and I'm still working on it. In the mean time, I want my completion to
be blazingly fast, and at least as good as git's bash completion.
If they wanted my contributions, that would be awesome, but that
doesn't appear to be the case. And I'm kind of relieved, because zsh's
completion is monstrous code, and the zsh development practices are
not good (e.g. all my logically independent patches get squashed into
one commit).
Cheers.
[1] https://github.com/robbyrussell/oh-my-zsh
--
Felipe Contreras
next prev parent reply other threads:[~2013-04-20 22:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-20 9:39 [QUERY] Why do we have git-completion.zsh? Ramkumar Ramachandra
2013-04-20 18:45 ` Jonathan Nieder
2013-04-20 18:53 ` Jonathan Nieder
2013-04-20 22:39 ` Felipe Contreras [this message]
2013-04-21 1:21 ` Felipe Contreras
2013-04-21 4:36 ` Ramkumar Ramachandra
2013-04-21 6:21 ` Felipe Contreras
2013-04-21 6:56 ` Ramkumar Ramachandra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMP44s3yCW-pHVHc9WfL1BC7BKmnXxZ1WQyPRAMnx967=74_Kg@mail.gmail.com' \
--to=felipe.contreras@gmail.com \
--cc=artagnon@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).