diff options
Diffstat (limited to 'fmt-merge-msg.c')
-rw-r--r-- | fmt-merge-msg.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index 5216191488..e5c0aff2bf 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -533,8 +533,9 @@ static void fmt_merge_msg_sigs(struct strbuf *out) else { buf = payload.buf; len = payload.len; - if (check_signature(payload.buf, payload.len, sig.buf, - sig.len, &sigc) && + sigc.payload_type = SIGNATURE_PAYLOAD_TAG; + sigc.payload = strbuf_detach(&payload, &sigc.payload_len); + if (check_signature(&sigc, sig.buf, sig.len) && !sigc.output) strbuf_addstr(&sig, "gpg verification failed.\n"); else @@ -649,12 +650,15 @@ int fmt_merge_msg(struct strbuf *in, struct strbuf *out, memset(&merge_parents, 0, sizeof(merge_parents)); - /* get current branch */ + /* learn the commit that we merge into and the current branch name */ current_branch = current_branch_to_free = resolve_refdup("HEAD", RESOLVE_REF_READING, &head_oid, NULL); if (!current_branch) die("No current branch"); - if (starts_with(current_branch, "refs/heads/")) + + if (opts->into_name) + current_branch = opts->into_name; + else if (starts_with(current_branch, "refs/heads/")) current_branch += 11; find_merge_parents(&merge_parents, in, &head_oid); |