git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3 6/9] cherry-pick: add support to copy notes

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Jun 6, 2013, 08:59 UTC
Message-ID
<1370509144-31974-7-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1370509144-31974-1-git-send-email-felipe.contreras@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 sequencer.c | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/sequencer.c b/sequencer.c
index 74480d7..6d13e63 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -14,6 +14,7 @@
 #include "merge-recursive.h"
 #include "refs.h"
 #include "argv-array.h"
+#include "builtin.h"
 
 #define GIT_REFLOG_ACTION "GIT_REFLOG_ACTION"
 
@@ -158,6 +159,32 @@ static void run_rewrite_hook(const char *name)
 	finish_command(&proc);
 }
 
+static void copy_notes(const char *name)
+{
+	struct notes_rewrite_cfg *cfg;
+	int i;
+
+	cfg = init_copy_notes_for_rewrite(name);
+	if (!cfg)
+		return;
+
+	for (i = 0; i < rewritten.nr; i++) {
+		struct rewritten_list_item *item = &rewritten.items[i];
+		copy_note_for_rewrite(cfg, item->from, item->to);
+	}
+
+	finish_copy_notes_for_rewrite(cfg);
+}
+
+static void finish(struct replay_opts *opts)
+{
+	if (opts->action != REPLAY_PICK)
+		return;
+
+	run_rewrite_hook("cherry-pick");
+	copy_notes("cherry-pick");
+}
+
 static void remove_sequencer_state(void)
 {
 	struct strbuf seq_dir = STRBUF_INIT;
@@ -1131,8 +1158,7 @@ static int pick_commits(struct commit_list *todo_list, struct replay_opts *opts)
 		}
 	}
 
-	if (opts->action == REPLAY_PICK)
-		run_rewrite_hook("cherry-pick");
+	finish(opts);
 
 	/*
 	 * Sequence of picks finished successfully; cleanup by
@@ -1188,8 +1214,7 @@ static int single_pick(struct commit *cmit, struct replay_opts *opts)
 	ret = do_pick_commit(cmit, opts);
 	if (ret)
 		return ret;
-	if (opts->action == REPLAY_PICK)
-		run_rewrite_hook("cherry-pick");
+	finish(opts);
 	return 0;
 }
 
-- 
1.8.3.698.g079b096
Previous: Felipe ContrerasNext: Felipe Contreras
Message 14 of 18 in “cherry-pick: improvements”
  1. 0/9 cherry-pick: improvementsFelipe Contreras, Jun 6, 2013
  2. 1/9 sequencer: remove useless indentationFelipe Contreras, Jun 6, 2013
  3. 2/9 sequencer: trivial fixFelipe Contreras, Jun 6, 2013
  4. 3/9 cherry-pick: add --skip-empty optionFelipe Contreras, Jun 6, 2013
  5. Junio C HamanoJun 6, 2013
  6. Felipe ContrerasJun 6, 2013
  7. Junio C HamanoJun 6, 2013
  8. Junio C HamanoJun 6, 2013
  9. Felipe ContrerasJun 7, 2013
  10. 4/9 cherry-pick: store rewritten commitsFelipe Contreras, Jun 6, 2013
  11. 5/9 sequencer: run post-rewrite hookFelipe Contreras, Jun 6, 2013
  12. Junio C HamanoJun 6, 2013
  13. Felipe ContrerasJun 9, 2013
  14. 6/9 cherry-pick: add support to copy notesFelipe Contreras, Jun 6, 2013
  15. Felipe ContrerasJun 6, 2013
  16. 7/9 revert/cherry-pick: add --quiet optionFelipe Contreras, Jun 6, 2013
  17. 8/9 revert/cherry-pick: add --skip optionFelipe Contreras, Jun 6, 2013
  18. 9/9 cherry-pick: don't barf when there's nothing to doFelipe Contreras, Jun 6, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.