From: Elijah Newren <newren@xxxxxxxxx> The current git prompt includes a lot of possible state information, from various flavors of rebases to cherry-picks, or merges, or bisects. Add sparsity as another state flavor (though one which can be present simultaneously with any of rebase/cherry-pick/merge/bisect). This extra state is shown with an extra |SPARSE substring before the other states. (Sparsity is probably not going to change much within a repository, while temporary operations will. So we want the temporary operation related state changes to be listed last, to make them appear closer to where the user types and make them more likely to be noticed.) Thus, for example, the prompt might look like: (branchname|SPARSE|REBASE 6/10) Signed-off-by: Elijah Newren <newren@xxxxxxxxx> --- contrib/completion/git-prompt.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index 014cd7c3cfc..3e7344a4014 100644 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh @@ -421,6 +421,11 @@ __git_ps1 () return $exit fi + local sparse="" + if [ "$(git config --bool core.sparseCheckout)" == "true" ]; then + sparse="|SPARSE" + fi + local r="" local b="" local step="" @@ -543,7 +548,7 @@ __git_ps1 () fi local f="$w$i$s$u" - local gitstring="$c$b${f:+$z$f}$r$p" + local gitstring="$c$b${f:+$z$f}${sparse}$r$p" if [ $pcmode = yes ]; then if [ "${__git_printf_supports_v-}" != yes ]; then -- gitgitgadget