zsh-users
 help / color / mirror / code / Atom feed
From: "Daniel Shahaf" <d.s@daniel.shahaf.name>
To: "Felipe Contreras" <felipe.contreras@gmail.com>, zsh-users@zsh.org
Subject: Re: git-completion 1.2 released
Date: Sat, 21 Nov 2020 16:03:48 +0000	[thread overview]
Message-ID: <20e670fa-074d-40c8-8bfd-b148fd0e3e77@www.fastmail.com> (raw)
In-Reply-To: <CAMP44s00vgMW2n8Yp63T91-d1XUMc0Tesmc+ykU+WURokysq_w@mail.gmail.com>

Felipe Contreras wrote on Thu, 19 Nov 2020 16:05 +00:00:
> Git-completion is a friendly fork of the official Git completion and
> prompt scripts for Zsh and Bash.
> 
> The main goal is to provide a more up-to-date completion for Zsh (I'm
> the developer), which is basically just a wrapper around the Bash
> completion.

I was going to invite you to send patches to zsh's own _git, but then I
noticed that in README.asciidoc you claim that you've sent patches to
zsh's completion and "many" of them have been "ignored":

> > Most Git developers use the Bash shell, for which the completion scripts work
> > rather well, however, Zsh is typically neglected. I've sent many patches to fix
> > the issues, many have been merged, but many have been ignored, thus the need for
> > a canonical location of a good, working Zsh completion.

I went back through the archives (and by this I mean the _complete_
archives, all the way back to 1995) and looked for git-related patches
and threads from you (using «~(~f Contreras ~s 'git|patch')» in Mutt, if
anyone wonders).  Here's what I found:

In April 2011 you sent 29208, which was accepted; 29041, which was
accepted; and 29055, which began a long thread that doesn't contain any
unified diffs.  I didn't read the thread in full since, according to the
subsequent thread starting in 29158, the 29055 thread ended up in
a disagreement not unlike the one you and Roman had just this week.

I also saw your 31343 and 31415, but they don't contain patches.

Which is to say, I have not found a _single_ patch from you that has
been "ignored", and for that matter, I haven't found a single patch from
you that has "not been merged", either; and the last _git-related
disagreement between you and the zsh developers is almost a decade ago.

Which is to say, I have failed to convince myself that the statement in your
README.asciidoc is accurate.

The invitation stands.

> Compared to Git upstream, you get many benefits for Zsh, for example:
> no extra unnecessary spaces, correct auto suffix removal, colors
> without PROMPT_COMMAND, custom aliases, fixed --no-options, and many
> more.

I suspect some of these have been fixed in zsh's _git since you last
looked and others are configurable.  (E.g., git-send-email(1), which you
mention below, completes not only files but also recent commits, and has
done so for a while.)

I also suspect that zsh's _git has features that yours lacks.

> If you use the official Zsh completion the main benefit is that it's
> blazingly fast. Simply doing "git log <tab>" on the Linux kernel (with
> 3k+ refs) takes several seconds on the official Zsh completion (about
> 3 seconds on my machine), with git-complete it's *instantaneous*.
> 

Are you comparing apples to apples or to oranges?  I.e., does it take
more time to produce the _same set_ of result, or to produce a
different set?

> There's other benefits too. Since the Bash completion is actively
> maintained by Git developers, everything works as they intend too.
> 
> For example "git send-email <tab>" correctly completes branches, as
> opposed to files in the Zsh official completion. Also, complex aliases
> such as '!f () { }; f' are correctly identified and completed
> out-of-the-box.
> 
> It's a sister project of the Oh My Zsh gitfast plugin [1], which I maintain too.
> 
> Since the last version a testing framework was added, and now all the
> completion tests of the Git project pass with the Zsh wrapper too [2].
> 
> For installation instructions, and more information, check the wiki
> [3], but basically.
> 
>  * make install
>  * fpath=(~/.local/share/git-completion/zsh $fpath)
> 
> Enjoy.
> 
> [1] https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast
> [2] https://travis-ci.org/github/felipec/git-completion
> [3] https://github.com/felipec/git-completion/wiki/Zsh
> 
> -- 
> Felipe Contreras
> 
>


  reply	other threads:[~2020-11-21 16:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-19 16:05 Felipe Contreras
2020-11-21 16:03 ` Daniel Shahaf [this message]
2020-11-21 20:14   ` Bart Schaefer
2020-11-22  0:59     ` Felipe Contreras
2020-11-22  0:53   ` Felipe Contreras
2020-11-23  4:33     ` Daniel Shahaf
2020-11-23  7:49       ` Felipe Contreras
2020-11-23 15:44         ` Daniel Shahaf
2020-11-23 18:31           ` Felipe Contreras

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=20e670fa-074d-40c8-8bfd-b148fd0e3e77@www.fastmail.com \
    --to=d.s@daniel.shahaf.name \
    --cc=felipe.contreras@gmail.com \
    --cc=zsh-users@zsh.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

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).