threads / patch / 60205

patchgrep: reject --no-or

Subject: [PATCH] grep: reject --no-or

## tl;dr

2 messages between Sep 7, 2023 and Sep 7, 2023. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

René Scharfe· Sep 7, 2023, 20:20 UTC · lore

Since 3e230fa1b2 (grep: use parseopt, 2009-05-07) git grep has been accepting the option --no-or. It does the same as --or: nothing. That's confusing and unintended. Forbid negating --or.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 builtin/grep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to builtin/grep.c +1 −2
diff --git a/builtin/grep.c b/builtin/grep.c
index 50e712a184..2a261074f1 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -990,7 +990,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
 		OPT_CALLBACK_F(0, "and", &opt, NULL,
 			N_("combine patterns specified with -e"),
 			PARSE_OPT_NOARG | PARSE_OPT_NONEG, and_callback),
-		OPT_BOOL(0, "or", &dummy, ""),
+		OPT_BOOL_F(0, "or", &dummy, "", PARSE_OPT_NONEG),
 		OPT_CALLBACK_F(0, "not", &opt, NULL, "",
 			PARSE_OPT_NOARG | PARSE_OPT_NONEG, not_callback),
 		OPT_CALLBACK_F('(', NULL, &opt, NULL, "",
--
2.42.0
Junio C Hamano· Sep 7, 2023, 20:34 UTC · re: René Scharfe · lore

Re: [PATCH] grep: reject --no-or

René Scharfe <l.s.r@web.de> writes:
> Since 3e230fa1b2 (grep: use parseopt, 2009-05-07) git grep has been
> accepting the option --no-or.  It does the same as --or: nothing.
> That's confusing and unintended.  Forbid negating --or.

OK. It is just a no-op Boolean but that is not a good reason for us to be loose. Will queue. Thanks.

Show 21 quoted lines
>
> Signed-off-by: René Scharfe <l.s.r@web.de>
> ---
>  builtin/grep.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/builtin/grep.c b/builtin/grep.c
> index 50e712a184..2a261074f1 100644
> --- a/builtin/grep.c
> +++ b/builtin/grep.c
> @@ -990,7 +990,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
>  		OPT_CALLBACK_F(0, "and", &opt, NULL,
>  			N_("combine patterns specified with -e"),
>  			PARSE_OPT_NOARG | PARSE_OPT_NONEG, and_callback),
> -		OPT_BOOL(0, "or", &dummy, ""),
> +		OPT_BOOL_F(0, "or", &dummy, "", PARSE_OPT_NONEG),
>  		OPT_CALLBACK_F(0, "not", &opt, NULL, "",
>  			PARSE_OPT_NOARG | PARSE_OPT_NONEG, not_callback),
>  		OPT_CALLBACK_F('(', NULL, &opt, NULL, "",
> --
> 2.42.0

← back to recent threads