Do not print a duplicate clean color code when there
is no other indicators other than the current branch
in colored prompt.

Signed-off-by: Eduardo R. D'Avila <erdav...@gmail.com>
---
1       1       contrib/completion/git-prompt.sh
6       6       t/t9903-bash-prompt.sh
 contrib/completion/git-prompt.sh |  2 +-
 t/t9903-bash-prompt.sh           | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index b02b7b2..70515cc 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -253,8 +253,8 @@ __git_ps1_colorize_gitstring ()
                branch_color="$bad_color"
        fi
        c="$branch_color$c"
-       b="$b$c_clear"
 
+       z="$c_clear$z"
        if [ "$w" = "*" ]; then
                w="$bad_color$w"
        fi
diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
index 6a88778..1101adf 100755
--- a/t/t9903-bash-prompt.sh
+++ b/t/t9903-bash-prompt.sh
@@ -551,7 +551,7 @@ test_expect_success 'prompt - pc mode' '
 '
 
 test_expect_success 'prompt - bash color pc mode - branch name' '
-       printf "BEFORE: (${c_green}master${c_clear}${c_clear}):AFTER" >expected 
&&
+       printf "BEFORE: (${c_green}master${c_clear}):AFTER" >expected &&
        (
                GIT_PS1_SHOWCOLORHINTS=y &&
                __git_ps1 "BEFORE:" ":AFTER" >"$actual"
@@ -561,7 +561,7 @@ test_expect_success 'prompt - bash color pc mode - branch 
name' '
 '
 
 test_expect_success 'prompt - bash color pc mode - detached head' '
-       printf "BEFORE: (${c_red}(%s...)${c_clear}${c_clear}):AFTER" $(git log 
-1 --format="%h" b1^) >expected &&
+       printf "BEFORE: (${c_red}(%s...)${c_clear}):AFTER" $(git log -1 
--format="%h" b1^) >expected &&
        git checkout b1^ &&
        test_when_finished "git checkout master" &&
        (
@@ -627,7 +627,7 @@ test_expect_success 'prompt - bash color pc mode - dirty 
status indicator - befo
 '
 
 test_expect_success 'prompt - bash color pc mode - inside .git directory' '
-       printf "BEFORE: (${c_green}GIT_DIR!${c_clear}${c_clear}):AFTER" 
>expected &&
+       printf "BEFORE: (${c_green}GIT_DIR!${c_clear}):AFTER" >expected &&
        echo "dirty" >file &&
        test_when_finished "git reset --hard" &&
        (
@@ -666,7 +666,7 @@ test_expect_success 'prompt - bash color pc mode - 
untracked files status indica
 '
 
 test_expect_success 'prompt - zsh color pc mode - branch name' '
-       printf "BEFORE: (%%F{green}master%%f%%f):AFTER" >expected &&
+       printf "BEFORE: (%%F{green}master%%f):AFTER" >expected &&
        (
                ZSH_VERSION=5.0.0 &&
                GIT_PS1_SHOWCOLORHINTS=y &&
@@ -677,7 +677,7 @@ test_expect_success 'prompt - zsh color pc mode - branch 
name' '
 '
 
 test_expect_success 'prompt - zsh color pc mode - detached head' '
-       printf "BEFORE: (%%F{red}(%s...)%%f%%f):AFTER" $(git log -1 
--format="%h" b1^) >expected &&
+       printf "BEFORE: (%%F{red}(%s...)%%f):AFTER" $(git log -1 --format="%h" 
b1^) >expected &&
        git checkout b1^ &&
        test_when_finished "git checkout master" &&
        (
@@ -748,7 +748,7 @@ test_expect_success 'prompt - zsh color pc mode - dirty 
status indicator - befor
 '
 
 test_expect_success 'prompt - zsh color pc mode - inside .git directory' '
-       printf "BEFORE: (%%F{green}GIT_DIR!%%f%%f):AFTER" >expected &&
+       printf "BEFORE: (%%F{green}GIT_DIR!%%f):AFTER" >expected &&
        echo "dirty" >file &&
        test_when_finished "git reset --hard" &&
        (
-- 
1.8.3.1.487.g28387b2

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to