run-command: show prepared command
commit291ef5b61c569ca9d40100fec6ab16dfd65c9a32
authorIan Wienand <iwienand@redhat.com>
Mon, 27 May 2024 00:30:49 +0000 (27 10:30 +1000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 31 May 2024 22:47:55 +0000 (31 15:47 -0700)
tree18c5baf35f184d6717189ee63b1b349c6d1f9554
parentd35a7436597277d65c84acdc4e951c45c791ea15
run-command: show prepared command

This adds a trace point in start_command so we can see the full
command invocation without having to resort to strace/code inspection.
For example:

 $ GIT_TRACE=1 git test foo
 git.c:755               trace: exec: git-test foo
 run-command.c:657       trace: run_command: git-test foo
 run-command.c:657       trace: run_command: 'echo $*' foo
 run-command.c:749       trace: start_command: /bin/sh -c 'echo $* "$@"' 'echo $*' foo

Prior changes have made the documentation around the internals of the
alias command execution clearer, but I have still found this detailed
view of the aliased command being run helpful for debugging purposes.

A test case is added to ensure the full command output is present in
the execution flow.

Signed-off-by: Ian Wienand <iwienand@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
run-command.c
t/t0014-alias.sh