public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Switch grep from non-portable BRE to portable ERE
@ 2024-05-17 17:10 Marcel Telka
  2024-05-17 18:02 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Marcel Telka @ 2024-05-17 17:10 UTC (permalink / raw)
  To: git

This makes the grep usage fully POSIX compliant.

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(-)

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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Switch grep from non-portable BRE to portable ERE
  2024-05-17 17:10 [PATCH] Switch grep from non-portable BRE to portable ERE Marcel Telka
@ 2024-05-17 18:02 ` Junio C Hamano
  2024-05-17 18:50   ` Marcel Telka
  2024-05-17 19:02   ` Marcel Telka
  0 siblings, 2 replies; 4+ messages in thread
From: Junio C Hamano @ 2024-05-17 18:02 UTC (permalink / raw)
  To: Marcel Telka; +Cc: git

Marcel Telka <marcel@telka.sk> writes:

> Subject: Re: [PATCH] Switch grep from non-portable BRE to portable ERE
>
> This makes the grep usage fully POSIX compliant.

May want to mention that using backslash to invoke ERE feature in
BRE is a GNU extension?

Thanks for this and other portability patches.  You are porting to a
new platform, I presume, where either nobody else ported to before
or those who ported did not bother reporting test breakages to us?

> 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(-)
>
> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Switch grep from non-portable BRE to portable ERE
  2024-05-17 18:02 ` Junio C Hamano
@ 2024-05-17 18:50   ` Marcel Telka
  2024-05-17 19:02   ` Marcel Telka
  1 sibling, 0 replies; 4+ messages in thread
From: Marcel Telka @ 2024-05-17 18:50 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Fri, May 17, 2024 at 11:02:28AM -0700, Junio C Hamano wrote:
> Thanks for this and other portability patches.  You are porting to a
> new platform, I presume, where either nobody else ported to before
> or those who ported did not bother reporting test breakages to us?

Unfortunately, the latter is the case.  I'm doing this for OpenIndiana
(an illumos distro, Solaris descendant) and the testing status before I
started the work was:

failed test(s): t0211 t0600 t1404 t1700 t2501 t3404 t4150 t4202 t7609 t9001 t9118 t9210 t9902

fixed   1
success 29241
failed  38
broken  269
total   30158


Now all tests pass.

The work uncovered few bugs in illumos as well.  For example, this one
helped to find issues with grep's null RE cases in git tests:
https://www.illumos.org/issues/16561


Thank you.

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Switch grep from non-portable BRE to portable ERE
  2024-05-17 18:02 ` Junio C Hamano
  2024-05-17 18:50   ` Marcel Telka
@ 2024-05-17 19:02   ` Marcel Telka
  1 sibling, 0 replies; 4+ messages in thread
From: Marcel Telka @ 2024-05-17 19:02 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Fri, May 17, 2024 at 11:02:28AM -0700, Junio C Hamano wrote:
> Marcel Telka <marcel@telka.sk> writes:
> > Subject: Re: [PATCH] Switch grep from non-portable BRE to portable ERE
> >
> > This makes the grep usage fully POSIX compliant.
> 
> May want to mention that using backslash to invoke ERE feature in
> BRE is a GNU extension?

v2 is flying...

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-05-17 19:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-17 17:10 [PATCH] Switch grep from non-portable BRE to portable ERE Marcel Telka
2024-05-17 18:02 ` Junio C Hamano
2024-05-17 18:50   ` Marcel Telka
2024-05-17 19:02   ` Marcel Telka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox