]> git.ipfire.org Git - thirdparty/git.git/commitdiff
run-command.c: print program 'git' when tracing git_cmd mode
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Thu, 18 Jan 2018 09:45:10 +0000 (16:45 +0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 19 Jan 2018 18:49:20 +0000 (10:49 -0800)
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 <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
run-command.c

index eadba8cb0d510aab2357b0998286a0c0aac4c2b0..326c33e3cd4e42e4d9eb898e579701b307e4cfa4 100644 (file)
@@ -565,6 +565,8 @@ static void trace_run_command(const struct child_process *cp)
                return;
 
        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);