Re: [BUGS] Git v2.51.2 on NonStop
From: Jeff King <hidden>
Date: 2025-10-30 02:53:09
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