From: SZEDER Gábor Date: Tue, 18 Jun 2013 02:17:05 GMT Subject: [PATCH v2 12/13] bash prompt: avoid command substitution when checking for untracked files Message-ID: <1371521826-3225-13-git-send-email-szeder@ira.uka.de> In-Reply-To: <1371521826-3225-1-git-send-email-szeder@ira.uka.de> From: SZEDER Gábor 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 --- contrib/completion/git-prompt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index 208e2ec7..77575b2d 100644 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh @@ -428,7 +428,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 -- 1.8.3.1.487.g8f4672d