[ANN] git-completion 1.3 released
To
git@vger.kernel.org
From
Felipe Contreras
Date
2021-01-01 02:41:35 UTC
Hello,

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.

Compared to Git upstream, you get many benefits for Zsh, but there's
also benefits for Bash users too.

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

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, the baseline has been updated to git 2.30 (which
includes some of the patches of git-completion 1.2), but there's a bunch
of other improvements and fixes.

The main improvement over 1.2 is that now all the completions are
correctly quoted (according to zsh developers using compadd -Q is rarely
correct).

In total there are 47 patches [2] on top of git's master (plus tests and
workarounds).

For installation instructions, and more information, check the wiki
[3], but basically.

 * make install
 * fpath=(~/.local/share/git-completion/zsh $fpath)

And for Arch Linux users I've created an AUR package: [4].

Enjoy and Happy New Year!

[1] https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast
[2] https://lore.kernel.org/git/20210101021622.798041-1-felipe.contreras@gmail.com/
[3] https://github.com/felipec/git-completion/wiki/Zsh
[4] https://aur.archlinux.org/packages/git-completion/

-- 
Felipe Contreras