On 05/11, Ævar Arnfjörð Bjarmason wrote:
> Add a warning about missing thread support when grep.threads or
> --threads is set to a non 0 (default) or 1 (no parallelism) value
> under NO_PTHREADS=YesPlease.
> 
> This is for consistency with the index-pack & pack-objects commands,
> which also take a --threads option & are configurable via
> pack.threads, and have long warned about the same under
> NO_PTHREADS=YesPlease.
> 
> Signed-off-by: Ævar Arnfjörð Bjarmason <ava...@gmail.com>
> ---
>  builtin/grep.c  | 11 +++++++++++
>  t/t7810-grep.sh | 18 ++++++++++++++++++
>  2 files changed, 29 insertions(+)
> 
> diff --git a/builtin/grep.c b/builtin/grep.c
> index 1c0adb30f3..f4e08dd2b6 100644
> --- a/builtin/grep.c
> +++ b/builtin/grep.c
> @@ -289,6 +289,15 @@ static int grep_cmd_config(const char *var, const char 
> *value, void *cb)
>               if (num_threads < 0)
>                       die(_("invalid number of threads specified (%d) for 
> %s"),
>                           num_threads, var);
> +#ifdef NO_PTHREADS
> +             else if (num_threads && num_threads != 1) {
> +                     /* TRANSLATORS: %s is the configuration
> +                        variable for tweaking threads, currently
> +                        grep.threads */

nit: this comment isn't formatted properly:
  /*
   * ... comment ...
   */

> +                     warning(_("no threads support, ignoring %s"), var);
> +                     num_threads = 0;
> +             }
> +#endif
>       }
>  
>       return st;
> @@ -1233,6 +1242,8 @@ int cmd_grep(int argc, const char **argv, const char 
> *prefix)
>       else if (num_threads < 0)
>               die(_("invalid number of threads specified (%d)"), num_threads);
>  #else
> +     if (num_threads)
> +             warning(_("no threads support, ignoring --threads"));
>       num_threads = 0;
>  #endif
>  
> diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
> index 561709ef6a..f106387820 100755
> --- a/t/t7810-grep.sh
> +++ b/t/t7810-grep.sh
> @@ -791,6 +791,24 @@ do
>       "
>  done
>  
> +test_expect_success !PTHREADS,C_LOCALE_OUTPUT 'grep --threads=N or 
> pack.threads=N warns when no pthreads' '
> +     git grep --threads=2 Hello hello_world 2>err &&
> +     grep ^warning: err >warnings &&
> +     test_line_count = 1 warnings &&
> +     grep -F "no threads support, ignoring --threads" err &&
> +     git -c grep.threads=2 grep Hello hello_world 2>err &&
> +     grep ^warning: err >warnings &&
> +     test_line_count = 1 warnings &&
> +     grep -F "no threads support, ignoring grep.threads" err &&
> +     git -c grep.threads=2 grep --threads=4 Hello hello_world 2>err &&
> +     grep ^warning: err >warnings &&
> +     test_line_count = 2 warnings &&
> +     grep -F "no threads support, ignoring --threads" err &&
> +     grep -F "no threads support, ignoring grep.threads" err &&
> +     git -c grep.threads=0 grep --threads=0 Hello hello_world 2>err &&
> +     test_line_count = 0 err
> +'
> +

Same bit about doing the correct checks on the error strings to account
for translation.

>  test_expect_success 'grep from a subdirectory to search wider area (1)' '
>       mkdir -p s &&
>       (
> -- 
> 2.11.0
> 

-- 
Brandon Williams

Reply via email to