Show presense of stashed changes in bash prompt.
PATCH 1/1 Show presense of stashed changes in bash prompt.
Avoid the forgetting of stashed changes by showing them in the bash prompt.
If the presense is shown is configurable by setting GIT_PS1_SHOW_STASH_STATE to a nonempty value.
The code for checking if the stash has entries is
taken from 'git-stash.sh'.
--- contrib/completion/git-completion.bash | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)
contrib/completion/git-completion.bash +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_SHOW_STASH_STATE 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_SHOW_STASH_STATE-}" ]; 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 }
Signature · 1 line
1.6.1.2
A message that is not in the archive (sent off-list or not yet received): [email protected]
Shawn O. Pearce
Acked-byQuoted 9 lines · Junio C Hamano
Quoted 5 lines · Daniel Trstenjak
Avoid the forgetting of stashed changes by showing them in the bash prompt.
If the presense is shown is configurable by setting
GIT_PS1_SHOW_STASH_STATEto a nonempty value.Why am I getting this deja-vu feeling about this patch, I wonder... Is this a re-roll of a previously posted patch?
I don't know... I had a similar deja-vu feeling when I read it.
Quoted 1 line
Shawn?
Initial NAK, see below for the nit.
Quoted 4 lines
Quoted 4 lines
contrib/completion/git-completion.bash +0
-0
Quoted 8 lines
contrib/completion/git-completion.bash line 46
Quoted 8 lines
contrib/completion/git-completion.bash +4
-0@@ -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_SHOW_STASH_STATE to a nonempty value. If something is stashed, +# then a '$' will be shown next to the branch name. +#
Can we call this GIT_PS1_SHOWSTASHSTATE to match the already present GIT_PS1_SHOWDIRTYSTATE in at least style formatting?
The bike shed already sailed... GIT_PS1_SHOWDIRTYSTATE shipped in 1.6.3. Lets keep the same style.
Otherwise it looks fine to me, when you resend you can add my
Signature · 1 line
Shawn.
Daniel Trstenjak
Acked-by Shawn O. PearceAvoid the forgetting of stashed changes by showing them in the bash prompt.
If the presense is shown is configurable by setting GIT_PS1_SHOWSTASHSTATE to a nonempty value.
The code for checking if the stash has entries is taken from 'git-stash.sh'.
--- contrib/completion/git-completion.bash | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)
contrib/completion/git-completion.bash +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 }
Signature · 1 line
1.6.1.2
Quoted 2 lines · Daniel Trstenjak
If the presense is shown is configurable by setting
GIT_PS1_SHOWSTASHSTATEto a nonempty value.
_presence_
Signature · 3 lines
Jakub Narebski Warsaw, Poland ShadeHawk on #git
Quoted 3 lines
Why am I getting this deja-vu feeling about this patch, I wonder... Is this a re-roll of a previously posted patch?
Yup.
Greetings,
Daniel