git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode

From
Ville Skyttä <ville.skytta@iki.fi>
Date
Apr 1, 2024, 17:07 UTC
Message-ID
<CABr9L5A_zz6ZvBWUoX_Px6Upyiur3+SPp8U91uw3OXO0mXZgeg@mail.gmail.com>
In-Reply-To
<xmqqttklcd6d.fsf@gitster.g>
On Mon, 1 Apr 2024 at 15:31, Junio C Hamano <gitster@pobox.com> wrote:
Show 21 quoted lines
>
> Ville Skyttä <ville.skytta@iki.fi> writes:
>
> > `GIT_PS1_SHOWCONFLICTSTATE` is a user variable that might not be set,
> > causing errors when the shell is in `nounset` mode.
> >
> > Take into account on access by falling back to an empty string.
> >
> > Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
> > ---
>
> Obviously a good thing to do.
>
> A related tangent is that
>
>     $ git grep -e '$GIT_PS1' -e '${GIT_PS1_[A-Z0-9_]*}' contrib/completion/
>
> shows a hit for the line with SHOWCONFLICTSTATE, plus two lines with
> GIT_PS1_SHOWUPSTREAM that lack the "if unset then use this value".
> Do you want to do another patch to fix them, or are they good as-is
> for some reason?

I initially actually changed those very lines too when working on the fix for the issue I faced with GIT_PS1_SHOWCONFLICTSTATE. However, both occurrences are within __git_ps1_show_upstream, and the only call site for that function is protected by a check on the variable that does take possible unset state into account; the function will in the file's current form never be called with it unset. Additionally, the first occurrence is immediately following a line that sets the variable, so that one is "doubly protected".

Therefore, I decided to undo those changes and not include them here. I guess it's a matter of taste whether one finds it desirable to protect those accesses nevertheless, but it's not strictly necessary.

Ville
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 6 in “completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode”
  1. completion: fix prompt with unset SHOWCONFLICTSTATE in nounset modeVille Skyttä, Apr 1, 2024
  2. Junio C HamanoApr 1, 2024
  3. Ville SkyttäApr 1, 2024
  4. Junio C HamanoApr 1, 2024
  5. Ville SkyttäApr 1, 2024
  6. Junio C HamanoApr 1, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.