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

Re: [PATCH 4/8] perf/run: use $default_value instead of $4

From
Christian Couder <christian.couder@gmail.com>
Date
Dec 14, 2017, 08:59 UTC
Message-ID
<CAP8UFD3=YCfrZZ0Xq6YSKTwr8e5HV5iwPN4G=Xb0s1yz8RTr6Q@mail.gmail.com>
In-Reply-To
<xmqqbmj2wedd.fsf@gitster.mtv.corp.google.com>
On Wed, Dec 13, 2017 at 9:40 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 49 quoted lines
> Christian Couder <christian.couder@gmail.com> writes:
>
>> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
>> ---
>>  t/perf/run | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/t/perf/run b/t/perf/run
>> index 43e4de49ef..bbd703dc4f 100755
>> --- a/t/perf/run
>> +++ b/t/perf/run
>> @@ -105,7 +105,7 @@ get_var_from_env_or_config () {
>>       env_var="$1"
>>       conf_sec="$2"
>>       conf_var="$3"
>> -     # $4 can be set to a default value
>> +     default_value="$4" # optional
>>
>>       # Do nothing if the env variable is already set
>>       eval "test -z \"\${$env_var+x}\"" || return
>> @@ -123,7 +123,7 @@ get_var_from_env_or_config () {
>>       conf_value=$(git config -f "$GIT_PERF_CONFIG_FILE" "$var") &&
>>       eval "$env_var=\"$conf_value\"" && return
>>
>> -     test -n "${4+x}" && eval "$env_var=\"$4\""
>> +     test -n "${default_value+x}" && eval "$env_var=\"$default_value\""
>
> This conversion changes the behaviour.  Because default_value is
> always set by your change in the previous hunk, we end up always
> doing this eval.
>
> The original says "If $4 is set, then ${4+x} becomes x and if $4 is
> not set, ${4+x} is empty, so let's check if ${4+x} is a non-empty
> string to see if $4 is set.  If ${4+x} is a non-empty string, that
> means $4 was set so we do the eval.
>
> If you want to be able to use this helper to specify a default value
> of an empty string (which the orignal that used $4 did), then the
> previous hunk must be corrected so that it does not unconditionally
> set default_value to $4.  Perhaps like
>
>         if test -n "${4+x}"
>         then
>                 default_value=$4
>         else
>                 unset default_value || :
>         fi
>
> or something.
Yeah, you are right I will fix this.
Previous: Christian CouderNext: Christian Couder
Message 8 of 20 in “Codespeed perf results”
  1. 0/8 Codespeed perf resultsChristian Couder, Dec 13, 2017
  2. 1/8 perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}Christian Couder, Dec 13, 2017
  3. 2/8 perf/aggregate: refactor printing resultsChristian Couder, Dec 13, 2017
  4. 4/8 perf/run: use $default_value instead of $4Christian Couder, Dec 13, 2017
  5. Junio C HamanoDec 13, 2017
  6. Junio C HamanoDec 13, 2017
  7. Christian CouderDec 14, 2017
  8. Christian CouderDec 14, 2017
  9. 8/8 perf/run: read GIT_TEST_REPO_NAME from perf.repoNameChristian Couder, Dec 13, 2017
  10. 7/8 perf/run: learn to send output to codespeed serverChristian Couder, Dec 13, 2017
  11. 3/8 perf/aggregate: implement codespeed JSON outputChristian Couder, Dec 13, 2017
  12. Eric SunshineDec 13, 2017
  13. Christian CouderDec 14, 2017
  14. Junio C HamanoDec 13, 2017
  15. Christian CouderDec 14, 2017
  16. Junio C HamanoDec 14, 2017
  17. 6/8 perf/run: learn about perf.codespeedOutputChristian Couder, Dec 13, 2017
  18. 5/8 perf/run: add conf_opts argument to get_var_from_env_or_config()Christian Couder, Dec 13, 2017
  19. Philip OakleyDec 13, 2017
  20. Christian CouderDec 13, 2017

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.