From: Jeff King Date: Thu, 30 Oct 2025 02:53:01 GMT Subject: Re: [BUGS] Git v2.51.2 on NonStop Message-ID: <20251030025301.GA1266932@coredump.intra.peff.net> In-Reply-To: <000701dc4933$9f79c670$de6d5350$@nexbridge.com> On Wed, Oct 29, 2025 at 08:24:52PM -0400, rsbecker@nexbridge.com 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. Does "make TEST_SHELL_PATH=/bin/bash" work? The default there is $(SHELL_PATH), which is distinct again from $(SHELL). The former is a Git-ism for the shell we replace in #! lines and invoke from within C programs, and the latter is a make-ism for how to run make recipes. If your /bin/sh isn't fully functional you might want to be setting SHELL_PATH, too. -Peff