On Thu, Feb 2, 2017 at 8:15 PM, Jacob Keller <jacob.keller@xxxxxxxxx> wrote: > On Thu, Feb 2, 2017 at 6:53 PM, SZEDER Gábor <szeder.dev@xxxxxxxxx> 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@xxxxxxxxx/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 I haven't had a chance to further investigate, but I tried this series out (from your github) and it appears that this series (or the previous series for __gitdir work) breaks "git log" ref completion. I'll have further details when I am able to investigate a it more. Thanks, Jake