commit: do not lose mergetag header when not amending
authorJunio C Hamano <gitster@pobox.com>
Tue, 20 Dec 2011 21:20:56 +0000 (13:20 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 20 Dec 2011 21:22:41 +0000 (13:22 -0800)
The earlier ed7a42a (commit: teach --amend to carry forward extra headers,
2011-11-08) broke "git merge/pull; edit to fix conflict; git commit"
workflow by forgetting that commit_tree_extended() takes the whole extra
header list.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/commit.c

index fca7ea01f3369b6c7df0796ec4b6142472e46904..0c64c880d5fe7106e391e677f6a32dd46e73b36b 100644 (file)
@@ -1484,8 +1484,12 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
                exit(1);
        }
 
-       if (amend)
+       if (amend) {
                extra = read_commit_extra_headers(current_head);
+       } else {
+               struct commit_extra_header **tail = &extra;
+               append_merge_tag_headers(parents, &tail);
+       }
 
        if (commit_tree_extended(sb.buf, active_cache_tree->sha1, parents, sha1,
                                 author_ident.buf, extra)) {