Jeff King <peff@xxxxxxxx> writes: > On Fri, Jan 12, 2024 at 02:12:43PM +0100, Johannes Schindelin wrote: > >> But my main concern is: Why does this happen in the first place? If we are >> running with Bash, why does `BASH_XTRACEFD` to work as intended here and >> makes it necessary to filter out the traced commands? > > BASH_XTRACEFD was introduced in bash 4.1. macOS ships with the ancient > bash 3.2.57, which is the last GPLv2 version. > > One simple solution is to mark the script with test_untraceable. See > 5fc98e79fc (t: add means to disable '-x' tracing for individual test > scripts, 2018-02-24) and 5827506928 (t1510-repo-setup: mark as > untraceable with '-x', 2018-02-24). > > That will disable tracing entirely in the script for older versions of > bash, which could make debugging harder. But it will still work as > expected for people on reasonable versions of bash, and doesn't > introduce any complicated code. Thank you, all three of you, for digging through to the bottom quickly. I too suspected a version of bash that is ancient and found out about the "untraceable" bit just before I started reading this thread ;-)