On 2014-10-14 14:47, Johannes Sixt wrote: > Am 14.10.2014 um 04:32 schrieb Jess Austin: >> diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh >> index c5473dc..d7559ff 100644 >> --- a/contrib/completion/git-prompt.sh >> +++ b/contrib/completion/git-prompt.sh >> @@ -84,6 +84,11 @@ >> # GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on >> # the colored output of "git status -sb" and are available only when >> # using __git_ps1 for PROMPT_COMMAND or precmd. >> +# >> +# If you would like __git_ps1 to do nothing in the case when the current >> +# directory is set up to be ignored by git, then set >> +# GIT_PS1_HIDE_ON_IGNORED_PWD to a nonempty value, or set >> +# bash.hideOnIgnoredPwd to true in the repository configuration. >> >> # check whether printf supports -v >> __git_printf_supports_v= >> @@ -501,6 +506,13 @@ __git_ps1 () >> local f="$w$i$s$u" >> local gitstring="$c$b${f:+$z$f}$r$p" >> >> + if [ -n "$(git check-ignore .)" ] && >> + ( [ -n "${GIT_PS1_HIDE_ON_IGNORED_PWD}" ] || >> + [ "$(git config --bool bash.hideOnIgnoredPwd)" = "true" ] ) > > Ahem, no. Please do not punish users who are not interested in the new > feature with two new processes every time __git_ps() is run. Think of > Windows where fork() is really, *really* expensive. Is this why bash.showDirtyState and friends aren't checked unless the corresponding environment variable is set to a non-empty value? Regardless, it would be nice if the behavior matched the other bash.* variables (only check the bash.* variable if the corresponding environment variable is set, and default to true). The following should fix it: if [ -n "${GIT_PS1_HIDE_ON_IGNORED_PWD}" ] && [ "$(git config --bool bash.hideOnIgnoredPwd)" != "false" ] && [ "$(git check-ignore .)" ] then ... -Richard > > BTW, you can write '{ foo || bar; }' to bracket a || chain without a > sub-process. > >> + then >> + printf_format="" >> + fi >> + >> if [ $pcmode = yes ]; then >> if [ "${__git_printf_supports_v-}" != yes ]; then >> gitstring=$(printf -- "$printf_format" "$gitstring") > > -- Hannes > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html