From: SZEDER Gábor <szeder@ira.uka.de>
Hi,
displaying the git-specific bash prompt on Windows/MinGW takes quite long, long enough to be noticeable. This is mainly caused by the numerous fork()s and exec()s to create subshells and run git or other commands, which are rather expensive on Windows.
This patch series eliminates many command substitutions and commands in __git_ps1() from top to bottom by replacing them with bash builtins or consolidating them. A few timing results are shown in the log message of patch 10.
SZEDER Gábor (13):
bash prompt: fix redirection coding style in tests
bash prompt: fix here document indentation in interactive rebase test
completion, bash prompt: move __gitdir() tests to completion test
suite
bash prompt: add a test for symbolic link symbolic refs
bash prompt: return early from __git_ps1() when not in a git
repository
bash prompt: run 'git rev-parse --git-dir' directly instead of
__gitdir()
bash prompt: use bash builtins to find out rebase state
bash prompt: use bash builtins to find out current branch
bash prompt: use bash builtins to get detached HEAD abbrev. object
name
bash prompt: combine 'git rev-parse' executions
bash prompt: use bash builtins to check stash state
bash prompt: avoid command substitution when checking for untracked
files
bash prompt: avoid command substitution when finalizing gitstringcontrib/completion/git-completion.bash | 2 - contrib/completion/git-prompt.sh | 223 ++++++++++++----------- t/t9902-completion.sh | 134 ++++++++++++++ t/t9903-bash-prompt.sh | 319 +++++++++++---------------------- 4 files changed, 345 insertions(+), 333 deletions(-)
-- 1.8.3.1.487.g8f4672d