Re: [PATCH] bisect: display first bad commit without forking a new process
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:51
Christian Couder [off-list ref] writes:
Le Wednesday 27 May 2009, Christian Couder a écrit :quoted
Previously "git diff-tree --pretty COMMIT" was run using "run_command_v_opt" to display information about the first bad commit. The goal of this patch is to avoid a "fork" and an "exec" call when displaying that information. To do that, we manually setup revision information as "git diff-tree --pretty" would do it, and then use the "log_tree_commit" function. Signed-off-by: Christian Couder <redacted> --- bisect.c | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-)diff --git a/bisect.c b/bisect.c index c43c120..e94a77b 100644 --- a/bisect.c +++ b/bisect.c@@ -816,6 +816,31 @@ static void check_good_are_ancestors_of_bad(constchar *prefix) } /* + * This does "git diff-tree --pretty COMMIT" without one fork+exec. + */ +static void show_diff_tree(const char *prefix, struct commit *commit) +{ + static struct rev_info opt;Oops, "static" can be removed, it's a copy-paste error, sorry.
Is that "can" or "must"? If the answer is the latter, shouldn't the function be renamed to make it clear it is a bisect specific thing?