Junio C Hamano <gitster@xxxxxxxxx> writes: > Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > ... >> + if (opts->verbose) { >> + const char *argv[] = { >> + "diff-tree", "--stat", NULL, NULL >> + }; >> + ... >> + run_command_v_opt(argv, RUN_GIT_CMD); >> + strbuf_reset(&buf); >> + } >> + strbuf_release(&buf); >> } > > It's a bit curious that the previous step avoided running a separate > process and instead did "diff-tree -p" all in C, but this one does not. > > I think it is because this one is outside the loop? Nah, this guess of mine "The patch file generation done in 03/34 avoids spawn because it is in a loop" is off the mark. It is done before "edit" gives control back to the end user and it is not like we write one patch file per iteration of the loop we want to get maximum speed out of.