From: brian m. carlson Date: Thu, 30 Oct 2025 21:23:23 GMT Subject: Re: [BUGS] Git v2.51.2 on NonStop Message-ID: In-Reply-To: On 2025-10-30 at 13:52:34, D. Ben Knoble wrote: > On Wed, Oct 29, 2025 at 8:25 PM 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