Hi,

Quoting Tony Finch <d...@dotat.at>:
Signed-off-by: Tony Finch <d...@dotat.at>
---
 contrib/completion/git-prompt.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index 3c3fc6d..3e70e74 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -288,6 +288,7 @@ __git_eread ()
# In this mode you can request colored hints using GIT_PS1_SHOWCOLORHINTS=true
 __git_ps1 ()
 {
+       # preserve exit status
        local exit=$?
        local pcmode=no
        local detached=no
@@ -303,7 +304,7 @@ __git_ps1 ()
                ;;
                0|1)    printf_format="${1:-$printf_format}"
                ;;
-               *)      return
+               *)      return $exit
                ;;
        esac

@@ -355,7 +356,7 @@ __git_ps1 ()
                        #In PC mode PS1 always needs to be set
                        PS1="$ps1pc_start$ps1pc_end"
                fi
-               return
+               return $exit
        fi

        local short_sha
@@ -416,7 +417,7 @@ __git_ps1 ()
                                if [ $pcmode = yes ]; then
                                        PS1="$ps1pc_start$ps1pc_end"
                                fi
-                               return
+                               return $exit
                        fi
                        # is it a symbolic ref?
                        b="${head#ref: }"
@@ -513,6 +514,5 @@ __git_ps1 ()
                printf -- "$printf_format" "$gitstring"
        fi

-       # preserve exit status
        return $exit
 }
--
2.2.1.68.g56d9796

Thanks for the quick turnaround, looks good to me. I didn't remember the early return in the second hunk.

I wonder whether we could test this behavior... but how could we set $? and pass it to __git_ps1()?

Junio,
as far as I can judge from the last What's cooking and the relevant patch emails on Gmane, this patch will have a textual conflict with the first patch in 'rh/hide-prompt-in-ignored-directory'. While the conflict is trivial (maybe git would even be able to resolve it by itself?), the second patch in that series adds yet another early return to __git_ps1(). Please be sure to add 'return $exit' when merging.


Best,
Gábor
--
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