Subject: Re: What's cooking in git.git (Mar 2026, #08)

From: Junio C Hamano <[email-masked]>
Date: Mon, 23 Mar 2026 09:54:42 -0700

Johannes Schindelin <[email-masked]> writes:

> And indeed, the broken `macos-14-arm64/20260317.0174` release has been
> deleted from https://github.com/actions/runner-images/releases -- the
> latest published `macos-14-arm64` release as of time of writing is once
> again (the last known good one):
> https://github.com/actions/runner-images/releases/tag/macos-14-arm64%2F20260302.0147

Great to know.

> In light of that, the workaround in
> `js/macos-homebrew-forgets-reg-enhanced` may still be worth keeping as
> insurance, even though the immediate breakage has been mitigated by the
> image rollback. We would be one image refresh away from the same failure
> otherwise.

Yes, it will become necessary to resurrect it or something similar
when they break it the same way in the future.

The question is where we keep it---I am assuming that forcing build
with "clang" to use the compat/ regexp library replacement would not
be something we want to do until they break it again, so keeping it
forever in 'seen' does not feel quite right (let alone merging it
down anywhere near 'next' or 'master').  The lore archive will of
course keep it safely and we can retrieve it when it becomes
necessary *and* if we remember which patch it was.  

Would the best thing we can do here be something like this patch,
perhaps?

--- >8 ---
Subject: regexp: leave a pointer to resurrect workaround for Homebrew

Recently some GitHub CI jobs were broken by update on the platform
side, which was eventually resolved by image rollback, but in the
meantime Dscho invented a workaround patch to sidestep the broken
part of the platform.  Their future image update may contain the
same bug, in which case the workaround may again become needed.

As we do not want to be building with workaround that avoids system
regexp library altogether unless the system is known to be broken,
so short of an automated "detect broken system and apply workaround"
mechanism, let's use the folks who are compiling the code to detect
breakage on their system and cope with the breakage ;-)

Signed-off-by: Junio C Hamano <[email-masked]>
---
 compat/regcomp_enhanced.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git c/compat/regcomp_enhanced.c w/compat/regcomp_enhanced.c
index 84193ce53b..29c74eee99 100644
--- c/compat/regcomp_enhanced.c
+++ w/compat/regcomp_enhanced.c
@@ -3,6 +3,11 @@
 
 int git_regcomp(regex_t *preg, const char *pattern, int cflags)
 {
+	/*
+	 * If you are on macOS with clang and fail to compile this line,
+	 * https://lore.kernel.org/git/[email-masked]/
+	 * might be relevant.
+	 */
 	if (!(cflags & REG_EXTENDED))
 		cflags |= REG_ENHANCED;
 	return regcomp(preg, pattern, cflags);