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

Re: [PATCH 06/12] config.mak.uname: only set NO_REGEX on cygwin for v1.7

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Mar 16, 2025, 22:24 UTC
Message-ID
<33561996-3b7f-4d0e-825f-5b2369d7d010@ramsayjones.plus.com>
In-Reply-To
<a4272c4a-7073-4671-a883-50e9413b0384@ramsayjones.plus.com>
On 15/03/2025 02:47, Ramsay Jones wrote:
Show 11 quoted lines
> 
> Commit 92f63d2b05 ("Cygwin 1.7 needs compat/regex", 2013-07-19) set
> the NO_REGEX build variable because the platform regex library failed
> some of the tests (t4018 and t4034), which passed just fine with the
> compat library.
> 
> After some time (may a year or two), the platform library had been
> updated (with an import from FreeBSD, I believe) and now passed the full
> test-suite. This would be about the time of the v1.7 -> v2.0 transition
> in 2015. I had a patch ready to send, but just didn't get around to
> submitting it to the list.

I forgot to mention, that one of the reasons that I didn't get around to submitting this patch then, was because of a '# TODO known breakage vanished' in test t7815-grep-binary.sh:

  $ ./t7815-grep-binary.sh
  ok 1 - setup
  ok 2 - git grep ina a
  ok 3 - git grep -ah ina a
  ok 4 - git grep -I ina a
  ok 5 - git grep -c ina a
  ok 6 - git grep -l ina a
  ok 7 - git grep -L bar a
  ok 8 - git grep -q ina a
  ok 9 - git grep -F ile a
  ok 10 - git grep -Fi iLE a
  ok 11 - git grep ile a
  ok 12 - git grep .fi a # TODO known breakage vanished
  ok 13 - grep respects binary diff attribute
  ok 14 - grep --cached respects binary diff attribute
  ok 15 - grep --cached respects binary diff attribute (2)
  ok 16 - grep revision respects binary diff attribute
  ok 17 - grep respects not-binary diff attribute
  ok 18 - setup textconv filters
  ok 19 - grep does not honor textconv
  ok 20 - grep --textconv honors textconv
  ok 21 - grep --no-textconv does not honor textconv
  ok 22 - grep --textconv blob honors textconv
  # 1 known breakage(s) vanished; please update test(s)
  # passed all remaining 21 test(s)
  1..22
  $ 

The platform regex library is happy to match a NUL byte with the '.' pattern. (presumably this is also true on FreeBSD?).

I could not decide on the best way to 'fix' this issue. The options seemed to be: do nothing (it's not hurting anyone), disable the test on cygwin or simply remove the test.

[I think I prefer to simply delete the test, since it doesn't seem to be testing anything useful, as far as I can see.]

What do you think?

ATB, Ramsay Jones

Previous: Ramsay JonesNext: Junio C Hamano
Message 2 of 5 in “config.mak.uname: only set NO_REGEX on cygwin for v1.7”
  1. 06/12 config.mak.uname: only set NO_REGEX on cygwin for v1.7Ramsay Jones, Mar 15, 2025
  2. Ramsay JonesMar 16, 2025
  3. Junio C HamanoMar 17, 2025
  4. Junio C HamanoMar 17, 2025
  5. Ramsay JonesMar 17, 2025

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.