Thread (19 messages) flat view 19 messages, 2 authors, 2017-02-06

Re: [PATCH 00/12] completion: speed up refs completion

From: Jacob Keller <hidden>
Date: 2017-02-03 04:16:03

On Thu, Feb 2, 2017 at 6:53 PM, SZEDER Gábor [off-list ref] wrote:
This series speeds up refs completion for large number of refs, partly
by giving up disambiguating ambiguous refs (patch 6) and partly by
eliminating most of the shell processing between 'git for-each-ref'
and 'ls-remote' and Bash's completion facility.  The rest is a bit of
preparatory reorganization, cleanup and bugfixes.

The last patch touches the ZSH wrapper, too.  By a lucky educated
guess I managed to get it work on the first try, but I don't really
know what I've actually done, so...  ZSH users, please have a closer
look.

At the end of this series refs completion from a local repository is
as fast as it can possibly get, at least as far as the completion
script is concerned, because it basically does nothing anymore :)  All
it does is run 'git for-each-ref' with assorted options to do all the
work, and feed its output directly, without any processing into Bash's
COMPREPLY array.  There is still room for improvements in the code
paths using 'git ls-remote', but for that we would need enhancements
to 'ls-remote'.

It goes on top of the __gitdir() improvements series I just posted at:

  http://public-inbox.org/git/20170203024829.8071-1-szeder.dev@gmail.com/T/

This series is also available at:

  https://github.com/szeder/git completion-refs-speedup
Nice! This is something i've been bothered by in the past since
completion would take a rather long time!

Regards,
Jake
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help