Subject: Re: [BUGS] Git v2.51.2 on NonStop

From: "brian m. carlson" <[email-masked]>
Date: Thu, 30 Oct 2025 21:23:23 +0000

On 2025-10-30 at 13:52:34, D. Ben Knoble wrote:
> On Wed, Oct 29, 2025 at 8:25 PM <[email-masked]> wrote:
> >
> > What appears to be happening is that the Make environment is only using SHELL=/bin/bash
> > for the outer processing but not the inner #!/bin/sh of t7900. The system is using /bin/sh
> > as specified, which uses ksh, not bash, which is the trace above. When I run the individual
> > tests with bash, the error reported goes away. The problem is, with my version of Gnu Make,
> > 4.1.2, the SHELL variable is only being replaced for the command processing of each
> > recipe. Once the system loader sees the shebang of #!/bin/sh, /bin/sh is used as requested,
> > and fails out. This means that I have to remember to manually run each test that fails with
> > bash instead of the default. It is frustrating and now adds hours to my manual evaluation
> > of the CI/CD results.
> >
> > The trace above is from sh, not bash because of this.
> >
> > With Frustration,
> > Randall
> 
> Is this the only ksh-induced failure? And if so, what is inducing the
> failure—is it something the test library can work around, or is the
> system {k,}sh not behaving portably here?

We know that AT&T ksh (ksh93) doesn't work for Git because we require
`local` and AT&T ksh doesn't offer that.  Other ksh implementations,
such as pdksh, mksh, lksh, OpenBSD's ksh (which is also its /bin/sh),
ksh88, and various others, do in fact work just fine because they
support `local`.  The `test_subcommand` function does use `local`,
so that may explain why things aren't working.

ksh (and zsh in zsh mode, but not in sh mode[0]) also run the last command
in a pipeline in the main shell instead of a subshell.  That may also be
a source of incompatibility.

It may also be failing to work for other reasons as well, though.

[0] To be clear, zsh has never successfully run our testsuite in zsh
mode, but it should mostly work in sh mode.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA