summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar SZEDER Gábor <szeder@ira.uka.de>2011-08-12 14:17:12 +0200
committerLibravatar SZEDER Gábor <szeder@ira.uka.de>2013-06-24 18:03:37 +0200
commit14d7649748265fe9fe991439ca6ae0c9db7a27ab (patch)
treea6e23e0e48212ae51fcfd9d3e6010ea478afcd3f
parentbash prompt: use bash builtins to check stash state (diff)
downloadtgif-14d7649748265fe9fe991439ca6ae0c9db7a27ab.tar.xz
bash prompt: avoid command substitution when checking for untracked files
When enabled, the bash prompt can indicate the presence of untracked files with a '%' sign. __git_ps1() checks for untracked files by running the '$(git ls-files --others --exclude-standard)' command substitution, and displays the indicator when there is no output. Avoid this command substitution by additionally passing '--error-unmatch *', and checking the command's return value. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
-rw-r--r--contrib/completion/git-prompt.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index afa867030d..5ea6a68bc0 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -442,7 +442,7 @@ __git_ps1 ()
if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ] &&
[ "$(git config --bool bash.showUntrackedFiles)" != "false" ] &&
- [ -n "$(git ls-files --others --exclude-standard)" ]
+ git ls-files --others --exclude-standard --error-unmatch -- '*' >/dev/null 2>/dev/null
then
u="%${ZSH_VERSION+%}"
fi