Re: [PATCH v3 3/3] run-command: show prepared command
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 24, 2024, 06:09 UTC
- Message-ID
- <xmqq4janpwqq.fsf@gitster.g>
- In-Reply-To
- <xmqqttiop05y.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 19 quoted lines
> Subject: [PATCH] fixup! run-command: show prepared command > > Do not assume everybody sets SHELL_PATH to /bin/sh > --- > t/t0014-alias.sh | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/t/t0014-alias.sh b/t/t0014-alias.sh > index 75c8763a6c..0d42d2b454 100755 > --- a/t/t0014-alias.sh > +++ b/t/t0014-alias.sh > @@ -48,7 +48,8 @@ test_expect_success 'tracing a shell alias with arguments shows full prepared co > git config alias.echo "!echo \$*" && > env GIT_TRACE=1 git echo argument 2>output && > cp output /tmp/output && > - test_grep "^trace: prepare_cmd: /bin/sh -c '\''echo \$\* \"\$@\"" output > + # ".*" can be "sh", or SHELL_PATH (not always "/bin/sh") > + test_grep "^trace: prepare_cmd: .* -c '\''echo \$\* \"\$@\"" output > '
So with this applied on top of the topic, 'seen' does pass with SHELL_PATH set to say /bin/dash, but this still fails CI jobs on Windows.
A sample run that failed (you'd probably need to be logged in as a github user there):
https://github.com/git/git/actions/runs/9216303673/job/25360383492#step:5:237
With the lack of "trace: prepare_cmd:" in the "output" file, on the platform, perhaps the code is failing to find an executable for "echo" on the $PATH and taking the early return codepath that sets errno to ENOENT and returns -1? Or it is that even prepare_cmd() is not called? I do not do Windows, so I'll stop here.
Oh by the way, I just noticed that there is an apparent leftover debugging statement that accesses outside the test playpen. When you reroll the patch, please make sure that "cp output /tmp/output" is removed.
Thanks.