Hi Junio, On Tue, 13 Dec 2016, Junio C Hamano wrote: > Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > > > @@ -1493,9 +1498,26 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts) > > } > > > > if (is_rebase_i(opts)) { > > + struct strbuf buf = STRBUF_INIT; > > + > > /* Stopped in the middle, as planned? */ > > if (todo_list->current < todo_list->nr) > > return 0; > > + > > + if (opts->verbose) { > > + const char *argv[] = { > > + "diff-tree", "--stat", NULL, NULL > > + }; > > + > > + if (!read_oneliner(&buf, rebase_path_orig_head(), 0)) > > + return error(_("could not read '%s'"), > > + rebase_path_orig_head()); > > + strbuf_addstr(&buf, "..HEAD"); > > + argv[2] = buf.buf; > > + 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 guess my only defence is that I tried to be a little lazy. Fixed. Dscho