git-prompt.sh: don't assume the shell expands the value of PS1
commit1e4119c81b3e203e1729e03be6e4a53eb9207f5c
authorRichard Hansen <rhansen@bbn.com>
Mon, 19 May 2014 22:55:37 +0000 (19 18:55 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 19 May 2014 23:09:53 +0000 (19 16:09 -0700)
tree05e81a2941fd1f79d47c41d8ef9720b40773f8f4
parent8976500cbbb13270398d3b3e07a17b8cc7bff43f
git-prompt.sh: don't assume the shell expands the value of PS1

Not all shells subject the prompt string to parameter expansion.  Test
whether the shell will expand the value of PS1, and use the result to
control whether raw ref names are included directly in PS1.

This fixes a regression introduced in commit 8976500 ("git-prompt.sh:
don't put unsanitized branch names in $PS1"):  zsh does not expand PS1
by default, but that commit assumed it did.  The bug resulted in
prompts containing the literal string '${__git_ps1_branch_name}'
instead of the actual branch name.

Reported-by: Caleb Thompson <caleb@calebthompson.io>
Signed-off-by: Richard Hansen <rhansen@bbn.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-prompt.sh
t/t9903-bash-prompt.sh