Show presence of stashed changes in bash prompt.

Add a '$' in the __git_ps1 output to show stashed changes are present,
when GIT_PS1_SHOWSTASHSTATE is set to a nonempty value.

The code for checking if the stash has entries is taken from
'git-stash.sh'.

Signed-off-by: Daniel Trstenjak <daniel.trstenjak@online.de>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Daniel Trstenjak 2009-06-02 20:03:22 +02:00 коммит произвёл Junio C Hamano
Родитель b11cf09043
Коммит 2414b45ce0
1 изменённых файлов: 10 добавлений и 2 удалений

Просмотреть файл

@ -40,6 +40,10 @@
# with the bash.showDirtyState variable, which defaults to true
# once GIT_PS1_SHOWDIRTYSTATE is enabled.
#
# You can also see if currently something is stashed, by setting
# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed,
# then a '$' will be shown next to the branch name.
#
# To submit patches:
#
# *) Read Documentation/SubmittingPatches
@ -127,6 +131,7 @@ __git_ps1 ()
local w
local i
local s
local c
if [ "true" = "$(git rev-parse --is-inside-git-dir 2>/dev/null)" ]; then
@ -148,12 +153,15 @@ __git_ps1 ()
fi
fi
fi
if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ]; then
git rev-parse --verify refs/stash >/dev/null 2>&1 && s="$"
fi
fi
if [ -n "${1-}" ]; then
printf "$1" "$c${b##refs/heads/}$w$i$r"
printf "$1" "$c${b##refs/heads/}$w$i$s$r"
else
printf " (%s)" "$c${b##refs/heads/}$w$i$r"
printf " (%s)" "$c${b##refs/heads/}$w$i$s$r"
fi
fi
}