diff options
authorNguyễn Thái Ngọc Duy <>2018-01-18 09:45:10 (GMT)
committerJunio C Hamano <>2018-01-19 18:49:20 (GMT)
commit21dfc5e08fec74ded0ab4206bca0927a38feb882 (patch)
parente73dd78699c4a0a84960c3519e6bdc6e49009740 (diff)
run-command.c: print program 'git' when tracing git_cmd mode
We normally print full command line, including the program and its argument. When git_cmd is set, we have a special code path to run the right "git" program and child_process.argv[0] will not contain the program name anymore. As a result, we print just the command arguments. I thought it was a regression when the code was refactored and git_cmd added, but apparently it's not. git_cmd mode was introduced before tracing was added in 8852f5d704 (run_command(): respect GIT_TRACE - 2008-07-07) so it's more like an oversight in 8852f5d704. Fix it, print the program name "git" in git_cmd mode. It's nice to have now. But it will be more important later when we start to print env variables too, in shell syntax. The lack of a program name would look confusing then. Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
1 files changed, 2 insertions, 0 deletions
diff --git a/run-command.c b/run-command.c
index eadba8c..326c33e 100644
--- a/run-command.c
+++ b/run-command.c
@@ -565,6 +565,8 @@ static void trace_run_command(const struct child_process *cp)
strbuf_addf(&buf, "trace: run_command:");
+ if (cp->git_cmd)
+ strbuf_addstr(&buf, " git");
sq_quote_argv_pretty(&buf, cp->argv);
trace_printf("%s", buf.buf);