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

[PATCH 5/6] format-patch: append --signature after notes

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 18, 2012, 05:45 UTC
Message-ID
<1350539128-21577-6-git-send-email-gitster@pobox.com>
In-Reply-To
<1350539128-21577-1-git-send-email-gitster@pobox.com>

When appending a new signature with "format-patch --signature", if the "--notes" option is also in effect, the location of the new signature (and if the signature should be added in the first place) should be decided using the contents of the original commit log message, before the message from the notes is added.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 log-tree.c              |  6 ++++--
 t/t4014-format-patch.sh | 12 ++++++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/log-tree.c b/log-tree.c
index e7e08f4..4390b11 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -672,12 +672,14 @@ void show_log(struct rev_info *opt)
 	ctx.reflog_info = opt->reflog_info;
 	ctx.fmt = opt->commit_format;
 	pretty_print_commit(&ctx, commit, &msgbuf);
+
+	if (opt->add_signoff)
+		append_signoff(&msgbuf, opt->add_signoff);
+
 	if ((ctx.fmt != CMIT_FMT_USERFORMAT) &&
 	    ctx.notes_message && *ctx.notes_message)
 		strbuf_addstr(&msgbuf, ctx.notes_message);
 
-	if (opt->add_signoff)
-		append_signoff(&msgbuf, opt->add_signoff);
 	if (opt->show_log_size) {
 		printf("log size %i\n", (int)msgbuf.len);
 		graph_show_oneline(opt->graph);
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index 959aa26..bea6381 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -616,8 +616,16 @@ test_expect_success 'format-patch --in-reply-to' '
 '
 
 test_expect_success 'format-patch --signoff' '
-	git format-patch -1 --signoff --stdout |
-	grep "^Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
+	git format-patch -1 --signoff --stdout >out &&
+	grep "^Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" out
+'
+
+test_expect_success 'format-patch --notes --signoff' '
+	git notes --ref test add -m "test message" HEAD &&
+	git format-patch -1 --signoff --stdout --notes=test >out &&
+	# Notes message must come after S-o-b
+	! sed "/^Signed-off-by: /q" out | grep "test message" &&
+	sed "1,/^Signed-off-by: /d" out | grep "test message"
 '
 
 echo "fatal: --name-only does not make sense" > expect.name-only
-- 
1.8.0.rc3.112.gdb88a5e
Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 19 in “Bring "format-patch --notes" closer to a real feature”
  1. 0/6 Bring "format-patch --notes" closer to a real featureJunio C Hamano, Oct 18, 2012
  2. 1/6 pretty: remove reencode_commit_message()Junio C Hamano, Oct 18, 2012
  3. 2/6 format_note(): simplify APIJunio C Hamano, Oct 18, 2012
  4. 3/6 pretty: prepare notes message at a centralized placeJunio C Hamano, Oct 18, 2012
  5. Jeff KingOct 18, 2012
  6. Junio C HamanoOct 18, 2012
  7. Jeff KingOct 18, 2012
  8. strbuf: always return a non-NULL value from strbuf_detachJeff King, Oct 18, 2012
  9. 4/6 pretty_print_commit(): do not append notes messageJunio C Hamano, Oct 18, 2012
  10. 5/6 format-patch: append --signature after notesJunio C Hamano, Oct 18, 2012
  11. 6/6 format-patch --notes: show notes after three-dashesJunio C Hamano, Oct 18, 2012
  12. Philip OakleyOct 18, 2012
  13. Junio C HamanoOct 18, 2012
  14. Junio C HamanoOct 19, 2012
  15. Philip OakleyOct 21, 2012
  16. Jeff KingOct 18, 2012
  17. Nguyen Thai Ngoc DuyOct 18, 2012
  18. Michael J GruberOct 18, 2012
  19. Junio C HamanoOct 18, 2012

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.