commit: do not lose mergetag header when not amending
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>
Junio C Hamano committed
Dec 20, 2011 at 13:20 UTC
0074d18dc0d816f9842d3e0e1cd0b26341715b37
1 file changed
+5
-1
builtin/commit.c
+5
-1
@@ -1484,8 +1484,12 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
1484
exit(1);
1485
}
1486
1487
- if (amend)
1487
+ if (amend) {
1488
extra = read_commit_extra_headers(current_head);
1489
+ } else {
1490
+ struct commit_extra_header **tail = &extra;
1491
+ append_merge_tag_headers(parents, &tail);
1492
+ }
1493
1494
if (commit_tree_extended(sb.buf, active_cache_tree->sha1, parents, sha1,
1495
author_ident.buf, extra)) {