[PATCH 3/4] git-prompt: make long upstream state indicator consistent
- From
Justin Donnelly via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 25, 2022, 11:44 UTC
- Message-ID
- <83766e33614dbb90c1162bd9f6d7fc9c11cd2f60.1645789446.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1162.git.1645789446.gitgitgadget@gmail.com>
From: Justin Donnelly <justinrdonnelly@gmail.com>
Use a pipe as a delimiter between short state indicators and long upstream state indicator (e.g. `(main *|u+2-1 origin/main)` instead of `(main * u+2-1 origin/main)`) . This is consistent with long state indicators for sparse and in-progress operations (e.g. merge).
Signed-off-by: Justin Donnelly <justinrdonnelly@gmail.com> --- contrib/completion/git-prompt.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index 613389a53bc..2772f990888 100644 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh @@ -109,7 +109,7 @@ __git_printf_supports_v= printf -v __git_printf_supports_v -- '%s' yes >/dev/null 2>&1 -# stores the divergence from upstream in $p (for short status) or $upstream (for verbose status) +# stores the divergence from upstream in $p # used by GIT_PS1_SHOWUPSTREAM __git_ps1_show_upstream () { @@ -219,13 +219,13 @@ __git_ps1_show_upstream () "") # no upstream upstream="" ;; "0 0") # equal to upstream - upstream=" u=" ;; + upstream="|u=" ;; "0 "*) # ahead of upstream - upstream=" u+${count#0 }" ;; + upstream="|u+${count#0 }" ;; *" 0") # behind upstream - upstream=" u-${count% 0}" ;; + upstream="|u-${count% 0}" ;; *) # diverged from upstream - upstream=" u+${count#* }-${count% *}" ;; + upstream="|u+${count#* }-${count% *}" ;; esac if [[ -n "$count" && -n "$name" ]]; then __git_ps1_upstream_name=$(git rev-parse \
-- gitgitgadget