Felipe Contreras <felipe.contre...@gmail.com> writes:

> When we are rebasing without options ('am' mode), the head rebased lives
> in '$g/rebase-apply/head-name', so lets use that information so it's
> reported the same way as if we were doing other rebases (-i or -m).
>
> Signed-off-by: Felipe Contreras <felipe.contre...@gmail.com>
> ---
>  contrib/completion/git-prompt.sh | 2 ++
>  t/t9903-bash-prompt.sh           | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/contrib/completion/git-prompt.sh 
> b/contrib/completion/git-prompt.sh
> index eaf5c36..bbf7657 100644
> --- a/contrib/completion/git-prompt.sh
> +++ b/contrib/completion/git-prompt.sh
> @@ -279,6 +279,7 @@ __git_ps1 ()
>                               step=$(cat "$g/rebase-apply/next")
>                               total=$(cat "$g/rebase-apply/last")
>                               if [ -f "$g/rebase-apply/rebasing" ]; then
> +                                     b="$(cat "$g/rebase-apply/head-name")"
>                                       r="|REBASE"
>                               elif [ -f "$g/rebase-apply/applying" ]; then
>                                       r="|AM"

Looks correct to me, and the resulting behaviour is better

I wonder if the overall structure can be improved on top of this
change, though.

        if [ -d rebase-merge ]; then
                set b, step, total and r to show REBASE-kind stuff
        else
                if [ -d rebase-apply]; then
                        set step, total and r to show AM,
                        but if rebasing is there, show REBASE
                elif ...
                        handle all the other non rebase state
                elif ...
                        in many different elif-then pieces
                fi

                if $b is not set; then
                        set b to show the current branch
                fi
        fi

It looks somewhat strange that this has to be nested, not a straight
cascade of if/elif/.../fi.

> @@ -295,6 +296,7 @@ __git_ps1 ()
>                               r="|BISECTING"
>                       fi
>  
> +                     test -n "$b" ||
>                       b="$(git symbolic-ref HEAD 2>/dev/null)" || {
>                               detached=yes
>                               b="$(
> diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh
> index 083b319..15521cc 100755
> --- a/t/t9903-bash-prompt.sh
> +++ b/t/t9903-bash-prompt.sh
> @@ -276,7 +276,7 @@ test_expect_success 'prompt - rebase merge' '
>  '
>  
>  test_expect_success 'prompt - rebase' '
> -     printf " ((t2)|REBASE 1/3)" > expected &&
> +     printf " (b2|REBASE 1/3)" > expected &&
>       git checkout b2 &&
>       test_when_finished "git checkout master" &&
>       test_must_fail git rebase b1 b2 &&
--
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