Re: [PATCH v2] git-prompt: make colourization consistent
- From
Joakim Petersen <joak-pet@online.no>
- Date
- Jun 3, 2022, 13:55 UTC
- Message-ID
- <09d485f5-e3f0-be10-7061-bff6ef09a99a@online.no>
- In-Reply-To
- <xmqqilpiistk.fsf@gitster.g>
On 03/06/2022 00:49, Junio C Hamano wrote:
Show 24 quoted lines
> Joakim Petersen <joak-pet@online.no> writes: > >> Range-diff against v1: >> 1: e235caa7a8 = 1: e235caa7a8 git-prompt: make colourization consistent >> >> contrib/completion/git-prompt.sh | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh >> index 87b2b916c0..dfd6cef35f 100644 >> --- a/contrib/completion/git-prompt.sh >> +++ b/contrib/completion/git-prompt.sh >> @@ -286,6 +286,7 @@ __git_ps1_colorize_gitstring () >> if [ -n "$u" ]; then >> u="$bad_color$u" >> fi >> + p="$c_clear$p" >> r="$c_clear$r" >> } > > Has this been tested? > > It seems to break a handful of tests in t9903 for me. >
Oh, no I hadn't run the test suite, sorry. I must've gotten too caught up in other parts of the submitting process and simply forgot to run them. After looking into it, the reason why the tests fail is that $p is no longer empty when it is not set, so $f is no longer empty, leading to both $z and $p being inserted into $gitstring. This causes there to be three clear-colour sequences in the final output instead of the expected one. Wrapping the clearing of $p's colour in a check for emptiness like the other short state indicators fixes the tests. I'll submit a v3 shortly.