threads / patch / 61508

v2Switch grep from non-portable BRE to portable ERE

Subject: [PATCH v2] Switch grep from non-portable BRE to portable ERE

## tl;dr

3 messages between May 17, 2024 and May 22, 2024. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Marcel Telka· May 17, 2024, 19:01 UTC · lore

This makes the grep usage fully POSIX compliant. The ability to enable ERE features in BRE using backslash is a GNU extension.

Signed-off-by: Marcel Telka <marcel@telka.sk>
---
 mergetools/vimdiff           | 2 +-
 t/t1404-update-ref-errors.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Show changes to 2 files +2 −2

mergetools/vimdiff, t/t1404-update-ref-errors.sh

diff --git a/mergetools/vimdiff b/mergetools/vimdiff
index 734d15a03b..f8ad6b35d4 100644
--- a/mergetools/vimdiff
+++ b/mergetools/vimdiff
@@ -325,7 +325,7 @@ gen_cmd () {
 		fi
 
 		# If this is a single window diff with all the buffers
-		if ! echo "$tab" | grep ",\|/" >/dev/null
+		if ! echo "$tab" | grep -E ",|/" >/dev/null
 		then
 			CMD="$CMD | silent execute 'bufdo diffthis'"
 		fi
diff --git a/t/t1404-update-ref-errors.sh b/t/t1404-update-ref-errors.sh
index 98e9158bd2..67ebd81a4c 100755
--- a/t/t1404-update-ref-errors.sh
+++ b/t/t1404-update-ref-errors.sh
@@ -100,7 +100,7 @@ df_test() {
 		printf "%s\n" "delete $delname" "create $addname $D"
 	fi >commands &&
 	test_must_fail git update-ref --stdin <commands 2>output.err &&
-	grep "fatal:\( cannot lock ref $SQ$addname$SQ:\)\? $SQ$delref$SQ exists; cannot create $SQ$addref$SQ" output.err &&
+	grep -E "fatal:( cannot lock ref $SQ$addname$SQ:)? $SQ$delref$SQ exists; cannot create $SQ$addref$SQ" output.err &&
 	printf "%s\n" "$C $delref" >expected-refs &&
 	git for-each-ref --format="%(objectname) %(refname)" $prefix/r >actual-refs &&
 	test_cmp expected-refs actual-refs
Patrick Steinhardt· May 21, 2024, 05:44 UTC · re: Marcel Telka · lore

Re: [PATCH v2] Switch grep from non-portable BRE to portable ERE

On Fri, May 17, 2024 at 09:01:49PM +0200, Marcel Telka wrote:
> This makes the grep usage fully POSIX compliant.  The ability to
Nit: we typically don't say "This commit", of which "This" is another
version. Instead, we use imperative style as if instructing the code to
change. Also, we typically first explain what the problem is before we
say how we fix it.

I don't think this is worth a reroll though, it's only a hint for the next patch you may be sending :)

> enable ERE features in BRE using backslash is a GNU extension.
> 
> Signed-off-by: Marcel Telka <marcel@telka.sk>

It would have been nice if this thread was connected to the thread of your first version so that it's easier to follow the discussion, e.g. by using `--in-reply-to=` in git-send-email(1) or git-format-patch(1).

But other than that the changes look good to me, thanks!
Patrick
Show 32 quoted lines
> ---
>  mergetools/vimdiff           | 2 +-
>  t/t1404-update-ref-errors.sh | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/mergetools/vimdiff b/mergetools/vimdiff
> index 734d15a03b..f8ad6b35d4 100644
> --- a/mergetools/vimdiff
> +++ b/mergetools/vimdiff
> @@ -325,7 +325,7 @@ gen_cmd () {
>  		fi
>  
>  		# If this is a single window diff with all the buffers
> -		if ! echo "$tab" | grep ",\|/" >/dev/null
> +		if ! echo "$tab" | grep -E ",|/" >/dev/null
>  		then
>  			CMD="$CMD | silent execute 'bufdo diffthis'"
>  		fi
> diff --git a/t/t1404-update-ref-errors.sh b/t/t1404-update-ref-errors.sh
> index 98e9158bd2..67ebd81a4c 100755
> --- a/t/t1404-update-ref-errors.sh
> +++ b/t/t1404-update-ref-errors.sh
> @@ -100,7 +100,7 @@ df_test() {
>  		printf "%s\n" "delete $delname" "create $addname $D"
>  	fi >commands &&
>  	test_must_fail git update-ref --stdin <commands 2>output.err &&
> -	grep "fatal:\( cannot lock ref $SQ$addname$SQ:\)\? $SQ$delref$SQ exists; cannot create $SQ$addref$SQ" output.err &&
> +	grep -E "fatal:( cannot lock ref $SQ$addname$SQ:)? $SQ$delref$SQ exists; cannot create $SQ$addref$SQ" output.err &&
>  	printf "%s\n" "$C $delref" >expected-refs &&
>  	git for-each-ref --format="%(objectname) %(refname)" $prefix/r >actual-refs &&
>  	test_cmp expected-refs actual-refs
> 
Marcel Telka· May 22, 2024, 10:52 UTC · re: Patrick Steinhardt · lore

Re: [PATCH v2] Switch grep from non-portable BRE to portable ERE

On Tue, May 21, 2024 at 07:44:23AM +0200, Patrick Steinhardt wrote:
Show 18 quoted lines
> On Fri, May 17, 2024 at 09:01:49PM +0200, Marcel Telka wrote:
> > This makes the grep usage fully POSIX compliant.  The ability to
> 
> Nit: we typically don't say "This commit", of which "This" is another
> version. Instead, we use imperative style as if instructing the code to
> change. Also, we typically first explain what the problem is before we
> say how we fix it.
> 
> I don't think this is worth a reroll though, it's only a hint for the
> next patch you may be sending :)
> 
> > enable ERE features in BRE using backslash is a GNU extension.
> > 
> > Signed-off-by: Marcel Telka <marcel@telka.sk>
> 
> It would have been nice if this thread was connected to the thread of
> your first version so that it's easier to follow the discussion, e.g. by
> using `--in-reply-to=` in git-send-email(1) or git-format-patch(1).

Thank you for hints. Really appreciated. This was my first attempt to use the `git send-email` workflow so it is not surprising I missed the --in-reply-to= option :-).

Best regards.
-- 
+-------------------------------------------+
| Marcel Telka   e-mail:   marcel@telka.sk  |
|                homepage: http://telka.sk/ |
+-------------------------------------------+

← back to recent threads