diff options
| author | Junio C Hamano <gitster@pobox.com> | 2017-06-04 10:21:06 +0900 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2017-06-04 10:21:06 +0900 |
| commit | e2ae5ec1f3fcbf5eae0608ad1f49f73e50257995 (patch) | |
| tree | 268c6e814fbdfe929818df3e8b121865622a11a0 /sequencer.c | |
| parent | 058d655f8fa68986d1d4a020052728e9e6fa848c (diff) | |
| parent | 44dc738a39f2c4dba41c0ddacae280d0f88dc71f (diff) | |
| download | git-e2ae5ec1f3fcbf5eae0608ad1f49f73e50257995.tar.gz | |
Merge branch 'jt/use-trailer-api-in-commands' into maint
"git cherry-pick" and other uses of the sequencer machinery
mishandled a trailer block whose last line is an incomplete line.
This has been fixed so that an additional sign-off etc. are added
after completing the existing incomplete line.
* jt/use-trailer-api-in-commands:
sequencer: add newline before adding footers
Diffstat (limited to 'sequencer.c')
| -rw-r--r-- | sequencer.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/sequencer.c b/sequencer.c index 9cb5cc7519..4dcf9c8be0 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1045,6 +1045,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit, strbuf_addstr(&msgbuf, p); if (opts->record_origin) { + strbuf_complete_line(&msgbuf); if (!has_conforming_footer(&msgbuf, NULL, 0)) strbuf_addch(&msgbuf, '\n'); strbuf_addstr(&msgbuf, cherry_picked_prefix); @@ -2360,6 +2361,9 @@ void append_signoff(struct strbuf *msgbuf, int ignore_footer, unsigned flag) getenv("GIT_COMMITTER_EMAIL"))); strbuf_addch(&sob, '\n'); + if (!ignore_footer) + strbuf_complete_line(msgbuf); + /* * If the whole message buffer is equal to the sob, pretend that we * found a conforming footer with a matching sob @@ -2380,13 +2384,6 @@ void append_signoff(struct strbuf *msgbuf, int ignore_footer, unsigned flag) * the title and body to be filled in by the user. */ append_newlines = "\n\n"; - } else if (msgbuf->buf[len - 1] != '\n') { - /* - * Incomplete line. Complete the line and add a - * blank one so that there is an empty line between - * the message body and the sob. - */ - append_newlines = "\n\n"; } else if (len == 1) { /* * Buffer contains a single newline. Add another |
