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

Re: [PATCH 3/3] Revert "bash prompt: avoid command substitution when finalizing gitstring"

From
Brandon Casey <drafnel@gmail.com>
Date
Aug 22, 2013, 00:33 UTC
Message-ID
<CA+sFfMfa422PF1inOOeTBRE7HRqL5zwCJNagx9Ya0i_LbpwQcg@mail.gmail.com>
In-Reply-To
<xmqq7gfesheu.fsf@gitster.dls.corp.google.com>
On Wed, Aug 21, 2013 at 5:22 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Brandon Casey <drafnel@gmail.com> writes:
>
>> On Wed, Aug 21, 2013 at 2:47 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 16 quoted lines
>>>         # on load...
>>>         printf -v __git_printf_supports_v -- "%s" yes >/dev/null 2>&1
>>>
>>>         ...
>>>
>>>         if test "${__git_printf_supports_v}" = yes
>>>         then
>>>                 printf -v gitstring -- "$printf_format" "$gitstring"
>>>         else
>>>                 gitstring=$(printf -- "$printf_format" "$gitstring")
>>>         fi
>>
>> Yes, that appears to work.
>
> A real patch needs to be a bit more careful, though.  The variable
> needs to be cleared before all of the above,
Agreed.
> and the testing would
> want to consider that the variable may not be set (i.e. use
> "${var-}" when checking).

Why is "${var-}" necessary? Wouldn't that be equivalent to "${var}" or "$var"? We obviously wouldn't want to do 'if test $var = yes', but I would have thought it was sufficient to wrap the variable dereference in quotes as your original did.

-Brandon
Previous: Junio C HamanoNext: Brandon Casey
Message 7 of 10 in “git-completion.bash: use correct Bash/Zsh array length syntax”
  1. 1/3 git-completion.bash: use correct Bash/Zsh array length syntaxBrandon Casey, Aug 21, 2013
  2. 2/3 t9902-completion.sh: old Bash still does not support array+=('') notationBrandon Casey, Aug 21, 2013
  3. 3/3 Revert "bash prompt: avoid command substitution when finalizing gitstring"Brandon Casey, Aug 21, 2013
  4. Junio C HamanoAug 21, 2013
  5. Brandon CaseyAug 21, 2013
  6. Junio C HamanoAug 22, 2013
  7. Brandon CaseyAug 22, 2013
  8. contrib/git-prompt.sh: handle missing 'printf -v' more gracefullyBrandon Casey, Aug 22, 2013
  9. contrib/git-prompt.sh: handle missing 'printf -v' more gracefullyBrandon Casey, Aug 22, 2013
  10. Junio C HamanoAug 22, 2013

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.