git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] test-lib-functions: avoid non POSIX ERE in test_dir_is_empty()

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 26, 2021, 06:25 UTC
Message-ID
<xmqqlf4ohgdv.fsf@gitster.g>
In-Reply-To
<YScXboC0M1IPNFon@nand.local>
Taylor Blau <me@ttaylorr.com> writes:
Show 11 quoted lines
>> -	if test -n "$(ls -a1 "$1" | egrep -v '^\.\.?$')"
>> +	if test -n "$(ls -a1 "$1" | grep -v '^\.$' | grep -v '^\.\.$')"
>
> This replacement is correct, but I'm not sure that I necessarily find it
> simpler. If we really are concerned about egrep usage, then
>
>     if test -n "$(find "$1" | grep -v '^\.$')"
>
> would suffice. But it looks like we are fairly OK with egrep in t (`git
> grep 'egrep' -- t | wc -l` turns up 19 matches), so I'm not sure the
> change is necessary in the first place.
It is true that we have been OK with egrep.

"grep -E" is in POSIX (so is "grep -F") and that you might be able to make an argument to use them instead of "egrep" and "fgrep", but at least at one point in the past, 87539416 (tests: grep portability fixes, 2008-09-30) favoured "fgrep" over "grep -F", claiming that the former was more widely available than the latter.

The world may have changed since then, though. IIRC, the 2008's topic was mostly about portability to Solaris and AIX, and their peculiarity (or their relevance) may have waned.

Previous: Taylor BlauNext: Carlo Arenas
Message 3 of 6 in “test-lib-functions: avoid non POSIX ERE in test_dir_is_empty()”
  1. test-lib-functions: avoid non POSIX ERE in test_dir_is_empty()Carlo Marcelo Arenas Belón, Aug 26, 2021
  2. Taylor BlauAug 26, 2021
  3. Junio C HamanoAug 26, 2021
  4. Carlo ArenasAug 26, 2021
  5. Carlo ArenasAug 26, 2021
  6. Junio C HamanoAug 26, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.