builtin/am: honor --signoff also when --rebasing

Signoff is handled in parse_mail(), but not in parse_mail_rebasing(), since the latter is only used when git-rebase calls git-am with the --rebasing option, and --signoff is never passed in this case. In order to introduce (in the upcoming commits) support for `git-rebase --signoff`, we must make git-am pay attention to it also in the rebase case. This can be done by moving the conditional addition of the signoff from parse_mail() to the caller am_run(), after either of the parse_mail*() functions were called. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Giuseppe Bilotta committed Apr 15, 2017 at 16:41 UTC b7cc7051f7f1cf9092fbddc828ff4ec249373046
1 file changed +3 -3
builtin/am.c
+3 -3
@@ -1321,9 +1321,6 @@ static int parse_mail(struct am_state *state, const char *mail)
1321 strbuf_addbuf(&msg, &mi.log_message);
1322 strbuf_stripspace(&msg, 0);
1323
1324 - if (state->signoff)
1325 - am_signoff(&msg);
1326 -
1324 assert(!state->author_name);
1325 state->author_name = strbuf_detach(&author_name, NULL);
1326
@@ -1848,6 +1845,9 @@ static void am_run(struct am_state *state, int resume)
1845 if (skip)
1846 goto next; /* mail should be skipped */
1847
1848 + if (state->signoff)
1849 + am_append_signoff(state);
1850 +
1851 write_author_script(state);
1852 write_commit_msg(state);
1853 }