Thread (1 message) 1 message, 1 author, 2017-01-07

Re: [PATCH v2 05/34] sequencer (rebase -i): learn about the 'verbose' mode

From: Junio C Hamano <hidden>
Date: 2017-01-07 21:49:06

Johannes Schindelin [off-list ref] writes:
Hi Junio,

On Tue, 13 Dec 2016, Junio C Hamano wrote:
quoted
Johannes Schindelin [off-list ref] writes:
quoted
@@ -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.
I actually was alluding to going the other way around, spawning
"diff-tree -p" in the other codepath like this one does.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help