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 <[email protected]>
> ---
> 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