git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv2 00/14] completion: speed up refs completion

From
Jeff King <peff@peff.net>
Date
Mar 24, 2017, 20:01 UTC
Message-ID
<20170324200130.jpn4uxanvpdogaag@sigill.intra.peff.net>
In-Reply-To
<xmqqshm3dezf.fsf@gitster.mtv.corp.google.com>
On Thu, Mar 23, 2017 at 11:28:52AM -0700, Junio C Hamano wrote:
Show 21 quoted lines
> SZEDER Gábor <szeder.dev@gmail.com> writes:
> 
> > This series is the updated version of 'sg/completion-refs-speedup'.
> > It speeds up refs completion for large number of refs, partly by
> > giving up disambiguating ambiguous refs 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.
> >
> > Changes since v1:
> > ...
> > [1] - http://public-inbox.org/git/20170206181545.12869-1-szeder.dev@gmail.com/
> 
> It seems Jacob Keller was the only person who was excited about
> these changes when v1 was posted?  It would be nice to see a bit
> more enthusiasm from other folks who are invested in the completion
> script, but you are the de-facto go-to person on the completion
> already, so ... ;-)
> 
> Will replace.  Let's advance this to 'next' soonish (say, by early
> next week).

I'm far from an expert in the completion scripts, but I read over the whole thing and it looked good to me. As usual with bash, the optimizations can make the code a bit non-intuitive, but I think the changes are clearly explained and the performance results speak for themselves.

-Peff
Previous: Junio C Hamano
Message 22 of 22 in “[PATCHv2 00/14] completion: speed up refs completion”
  1. SZEDER GáborMar 23, 2017
  2. 01/14 completion: remove redundant __gitcomp_nl() options from _git_commit()SZEDER Gábor, Mar 23, 2017
  3. 05/14 completion: support excluding full refsSZEDER Gábor, Mar 23, 2017
  4. 04/14 completion: support completing fully qualified non-fast-forward refspecsSZEDER Gábor, Mar 23, 2017
  5. 07/14 completion: don't disambiguate short refsSZEDER Gábor, Mar 23, 2017
  6. Jeff KingMar 24, 2017
  7. 13/14 completion: fill COMPREPLY directly when completing fetch refspecsSZEDER Gábor, Mar 23, 2017
  8. 08/14 completion: let 'for-each-ref' and 'ls-remote' filter matching refsSZEDER Gábor, Mar 23, 2017
  9. Jeff KingMar 24, 2017
  10. SZEDER GáborMar 28, 2017
  11. 09/14 completion: let 'for-each-ref' strip the remote name from remote branchesSZEDER Gábor, Mar 23, 2017
  12. 10/14 completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMerySZEDER Gábor, Mar 23, 2017
  13. 14/14 completion: speed up branch and tag completionSZEDER Gábor, Mar 23, 2017
  14. 12/14 completion: fill COMPREPLY directly when completing refsSZEDER Gábor, Mar 23, 2017
  15. 11/14 completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMerySZEDER Gábor, Mar 23, 2017
  16. Jeff KingMar 24, 2017
  17. 03/14 completion: support completing full refs after '--option=refs/<TAB>'SZEDER Gábor, Mar 23, 2017
  18. 02/14 completion: wrap __git_refs() for better option parsingSZEDER Gábor, Mar 23, 2017
  19. 06/14 completion: don't disambiguate tags and branchesSZEDER Gábor, Mar 23, 2017
  20. SZEDER GáborMar 23, 2017
  21. Junio C HamanoMar 23, 2017
  22. Jeff KingMar 24, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.