git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder@ira.uka.de>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Stephen Boyd <bebarino@gmail.com>,
	Kirill Smelkov <kirr@mns.spb.ru>,
	Sverre Rabbelier <srabbelier@gmail.com>,
	Junio C Hamano <junio@pobox.com>,
	"Shawn O. Pearce" <spearce@spearce.org>,
	git@vger.kernel.org
Subject: Re: [PATCH] Speed up bash completion loading
Date: Sat, 14 Nov 2009 15:43:03 +0100	[thread overview]
Message-ID: <20091114144303.GA31540@neumann> (raw)
In-Reply-To: <20091114110141.GB1829@progeny.tock>

Hi,


On Sat, Nov 14, 2009 at 05:01:41AM -0600, Jonathan Nieder wrote:
> Stephen Boyd wrote:
> 
> > I see a small problem, but it can be fixed in another patch. git
> > merge -s <TAB><TAB> the first time when you're not in a git
> > directory will make git merge -s <TAB><TAB> after never complete
> > correctly even in a git directory.
> 
> Not good.  I think the sanest thing to do is avoid caching the merge
> strategy list entirely.  Listing merge strategies takes about 100 ms
> here, which is short enough not to be annoying.
> 
> > I guess this become more serious
> > if git isn't in your path initially and you do git <TAB><TAB> and
> > then git becomes part of your path and you try again. Here you lose
> > porcelain completion. This is probably never going to happen though,
> > right?
> 
> Right, if this happened to me I would not be too surprised.  A similar
> problem occurs when someone installs a new git subcommand in the
> middle of a session.  Starting a new session fixes the completion, but
> should the completion script do something to help people before then?
> 
> It could provide a shell function with a slightly friendlier name than
> "__git_compute_porcelain_commands" for the user to invoke explicitly.
> 
> It could retry "git help -a" each time completion was needed if it
> gave no results last time (i.e. use "${__git_all_commands:=" instead
> of "${__git_all_commands=").  This would help with the missing git
> problem (which seems unusual), but not the missing git-svn.
> 
> Maybe it could detect signs of user frustration (repeated attempts to
> complete the same thing?) and add to the frustration by silently
> fixing the cache.

Why?  Don't get overly creative here, the command

  . /path/to/git-completion.bash

already does that, plus it fixes the merge strategy completion issue,
and it's friendly enough for the users.


Best,
Gábor

  reply	other threads:[~2009-11-14 14:43 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-11  9:34 excerpts from tomorrow's "What's cooking" draft Junio C Hamano
2009-11-11 16:33 ` Ben Walton
2009-11-11 17:07 ` Johan Herland
2009-11-11 17:57 ` Sverre Rabbelier
2009-11-11 18:45   ` Daniel Barkalow
2009-11-15  2:07     ` Sverre Rabbelier
2009-11-15  2:49       ` Daniel Barkalow
2009-11-11 22:08   ` ks/precompute-completion Jonathan Nieder
2009-11-13  6:40     ` ks/precompute-completion Stephen Boyd
2009-11-13  7:06       ` ks/precompute-completion Jonathan Nieder
2009-11-13  7:12         ` ks/precompute-completion Stephen Boyd
2009-11-13  8:50           ` [PATCH] Speed up bash completion loading Jonathan Nieder
2009-11-13  9:03             ` Jonathan Nieder
2009-11-13 10:29               ` Jonathan Nieder
2009-11-13 20:43               ` Stephen Boyd
2009-11-14 10:35                 ` Jonathan Nieder
2009-11-14 11:01                 ` Jonathan Nieder
2009-11-14 14:43                   ` SZEDER Gábor [this message]
2009-11-14 19:33                     ` Jonathan Nieder
2009-11-14 23:46                   ` Stephen Boyd
2009-11-15  6:50                     ` Jonathan Nieder
2009-11-15  9:05                   ` Junio C Hamano
2009-11-15 10:29                     ` [PATCH v2] " Jonathan Nieder
2009-11-16  1:55                       ` Shawn O. Pearce
2009-11-16  8:28                       ` Stephen Boyd
2009-11-18  0:49                         ` [PATCH v3] " Jonathan Nieder
2009-11-18  0:59                           ` Shawn O. Pearce
2009-11-11 18:42 ` excerpts from tomorrow's "What's cooking" draft Nicolas Sebrecht
2009-11-11 19:50   ` Nicolas Pitre
2009-11-11 21:07     ` Petr Baudis
2009-11-11 21:19       ` Nicolas Pitre
2009-11-11 21:26         ` Nicolas Sebrecht
2009-11-11 21:42         ` Petr Baudis
2009-11-11 22:04           ` Nicolas Pitre
2009-11-11 22:24           ` [PATCH] give priority to progress messages Nicolas Pitre
2009-11-11 18:54 ` excerpts from tomorrow's "What's cooking" draft Jakub Narebski

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=20091114144303.GA31540@neumann \
    --to=szeder@ira.uka.de \
    --cc=bebarino@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=junio@pobox.com \
    --cc=kirr@mns.spb.ru \
    --cc=spearce@spearce.org \
    --cc=srabbelier@gmail.com \
    /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.
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).