Subject: [PATCH v2] git-prompt: change == to = for zsh's sake

From: "David J. Malan via GitGitGadget" <[email-masked]>
Date: Tue, 21 Jul 2020 00:15:31 +0000

From: "David J. Malan" <[email-masked]>

When using git-prompt.sh with zsh, __git_ps1 currently errs
when inside a repo with:

__git_ps1:96: = not found

Avoid using non-portable "==" that is only understood by bash
and not zsh. Change to "=" so that the prompt script becomes
usable with zsh again.

Signed-off-by: David J. Malan <[email-masked]>
---
    Change == to = for zsh's sake in git-prompt.sh
    
    Upon installing git-prompt.sh
    [https://github.com/gitgitgadget/git/blob/master/contrib/completion/git-prompt.sh] 
    on macOS Catalina, I noticed that 
    https://github.com/gitgitgadget/git/commit/afda36dbf3b4f5a489ab44c00d5210c1fa894a40 
    seems to have introduced an issue for Zsh whereby __git_ps1 errs with
    
    __git_ps1:96: = not found
    
    when inside a repo. Changing == to = would seem to address for both Bash
    and Zsh.
    
    Changes since v1:
    
     * Commit message rewritten to use imperative mood.
     * Commit message rewritten to elaborate on reason for change.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-679%2Fdmalan%2Fpatch-1-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-679/dmalan/patch-1-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/679

Range-diff vs v1:

 1:  95be513ed1 ! 1:  f5402f1512 git-prompt: changes == to = for zsh's sake
     @@ Metadata
      Author: David J. Malan <[email-masked]>
      
       ## Commit message ##
     -    git-prompt: changes == to = for zsh's sake
     +    git-prompt: change == to = for zsh's sake
      
     -    When using git-prompt.sh with Zsh, __git_ps1 currently errs
     +    When using git-prompt.sh with zsh, __git_ps1 currently errs
          when inside a repo with:
      
          __git_ps1:96: = not found
      
     -    This commit changes `==` to `=` for both Bash and Zsh.
     +    Avoid using non-portable "==" that is only understood by bash
     +    and not zsh. Change to "=" so that the prompt script becomes
     +    usable with zsh again.
      
          Signed-off-by: David J. Malan <[email-masked]>

 contrib/completion/git-prompt.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index e6cd5464e5..16260bab73 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -433,7 +433,7 @@ __git_ps1 ()
 	local sparse=""
 	if [ -z "${GIT_PS1_COMPRESSSPARSESTATE}" ] &&
 	   [ -z "${GIT_PS1_OMITSPARSESTATE}" ] &&
-	   [ "$(git config --bool core.sparseCheckout)" == "true" ]; then
+	   [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
 		sparse="|SPARSE"
 	fi
 
@@ -542,7 +542,7 @@ __git_ps1 ()
 		fi
 
 		if [ -n "${GIT_PS1_COMPRESSSPARSESTATE}" ] &&
-		   [ "$(git config --bool core.sparseCheckout)" == "true" ]; then
+		   [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
 			h="?"
 		fi

base-commit: ae46588be0cd730430dded4491246dfb4eac5557
-- 
gitgitgadget