Thread (36 messages) flat view 36 messages, 14 authors, 2016-06-15

Re: [PATCH] Speed up bash completion loading

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:47:43
Subsystem: the rest · Maintainer: Linus Torvalds

Stephen Boyd wrote:
I was under the impression that setting variables during completion
meant they were lost at the end of the completion cycle. So to be
safe I put a 'sleep 5' in __git_list_porcelain_commands() and it
only stalled me once :-)
Clever. :)
Plus it seems that __git_all_commands is computed twice if I git
<TAB><TAB> and then git help <TAB><TAB> after. Can that be avoided?
Sounds like a bug; thanks.  I’ll squash in something like the following
for the next iteration.

-- %< --
Subject: completion: avoid computing command list twice

__git_all_commands is being computed twice on git <TAB><TAB> with
git help <TAB><TAB> after.

Signed-off-by: Jonathan Nieder <redacted>
---
 contrib/completion/git-completion.bash |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 6817953..748d4f9 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -588,6 +588,7 @@ __git_list_porcelain_commands ()
 
 __git_compute_porcelain_commands ()
 {
+	__git_compute_all_commands
 	: ${__git_porcelain_commands=$(__git_list_porcelain_commands)}
 }
 
-- 
1.6.5.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help