Re: [PATCH v3 5/9] sequencer: run post-rewrite hook

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH v3 5/9] sequencer: run post-rewrite hook

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:34

Felipe Contreras [off-list ref] writes:
quoted hunk
As we should.

Signed-off-by: Felipe Contreras <redacted>
---
 sequencer.c | 42 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/sequencer.c b/sequencer.c
index 76ff2ff..74480d7 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -127,6 +127,37 @@ static void add_rewritten(unsigned char *from, unsigned char *to)
 	rewritten.nr++;
 }
 
+static void run_rewrite_hook(const char *name)
+{
+	struct strbuf buf = STRBUF_INIT;
+	struct child_process proc;
+	const char *argv[3];
+	int code, i;
+
+	argv[0] = find_hook("post-rewrite");
+	if (!argv[0])
+		return;
+
+	argv[1] = name;
+	argv[2] = NULL;
+
+	memset(&proc, 0, sizeof(proc));
+	proc.argv = argv;
+	proc.in = -1;
+	proc.stdout_to_stderr = 1;
+
+	code = start_command(&proc);
+	if (code)
+		return;
+	for (i = 0; i < rewritten.nr; i++) {
+		struct rewritten_list_item *item = &rewritten.items[i];
+		strbuf_addf(&buf, "%s %s\n", sha1_to_hex(item->from), sha1_to_hex(item->to));
+	}
+	write_in_full(proc.in, buf.buf, buf.len);
+	close(proc.in);
+	finish_command(&proc);
+}
It probably is worth inserting a commit before 4/9 that adds
rewrite.[ch], and

 - introduces "struct rewritten_list[_item]";

 - moves run_rewrite_hook() in builtin/commit.c to rewrite.c;

 - changes its function signature so that it takes "char
   *action_name" and "struct rewritten *" as parameters; and

 - adjust its sole call site in cmd_commit() to feed a single-item
   rewritten_list to it.

Then 4/9 can teach cherry-pick to prepare the rewritten-list and
probably this commit can be part of that to call run_rewrite_hook().

Re: [PATCH v3 5/9] sequencer: run post-rewrite hook

From: Felipe Contreras <hidden>
Date: 2016-06-15 22:57:37

On Thu, Jun 6, 2013 at 1:40 PM, Junio C Hamano [off-list ref] wrote:
It probably is worth inserting a commit before 4/9 that adds
rewrite.[ch], and

 - introduces "struct rewritten_list[_item]";

 - moves run_rewrite_hook() in builtin/commit.c to rewrite.c;

 - changes its function signature so that it takes "char
   *action_name" and "struct rewritten *" as parameters; and

 - adjust its sole call site in cmd_commit() to feed a single-item
   rewritten_list to it.

Then 4/9 can teach cherry-pick to prepare the rewritten-list and
probably this commit can be part of that to call run_rewrite_hook().
Done. I'll send the patches in a moment.

-- 
Felipe Contreras
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help