[PATCH v2 1/3] merge: abort if fails to commit
From: Nguyễn Thái Ngọc Duy <hidden>
Date: 2016-06-15 22:52:38
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Nguyễn Thái Ngọc Duy <redacted>
---
2011/12/15 Junio C Hamano [off-list ref]:
>> - commit_tree(merge_msg.buf, merge_msg.len, result_tree, parent, result_commit, NULL);
>> + if (commit_tree(merge_msg.buf, merge_msg.len,
>> + result_tree, parent, result_commit, NULL))
>> + die(_("failed to write commit object"));
>> finish(head, result_commit, "In-index merge");
>> drop_save();
>> return 0;
>
> Should we die immediately, or should we do some clean-ups after ourselves
> before doing so?
I'm not sure. I had a quick look over the command and it seems we do
not need to do any clean-ups. But I'm not familiar with the command
anyway..
> In any case, this is a good change that shouldn't be taken hostage to the
> unrelated change in patch [1/3].
Moved it up so it you can cherry-pick it independently.
builtin/merge.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index 2870a6a..27576c0 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c@@ -913,7 +913,8 @@ static int merge_trivial(struct commit *head) parent->next->item = remoteheads->item; parent->next->next = NULL; prepare_to_commit(); - commit_tree(merge_msg.buf, result_tree, parent, result_commit, NULL); + if (commit_tree(merge_msg.buf, result_tree, parent, result_commit, NULL)) + die(_("failed to write commit object")); finish(head, result_commit, "In-index merge"); drop_save(); return 0;
@@ -944,7 +945,8 @@ static int finish_automerge(struct commit *head, strbuf_addch(&merge_msg, '\n'); prepare_to_commit(); free_commit_list(remoteheads); - commit_tree(merge_msg.buf, result_tree, parents, result_commit, NULL); + if (commit_tree(merge_msg.buf, result_tree, parents, result_commit, NULL)) + die(_("failed to write commit object")); strbuf_addf(&buf, "Merge made by the '%s' strategy.", wt_strategy); finish(head, result_commit, buf.buf); strbuf_release(&buf);
--
1.7.8.36.g69ee2