summaryrefslogtreecommitdiff
path: root/sequencer.c
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2016-09-09 14:37:10 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-09-09 18:24:52 (GMT)
commitc527b55e74181291da9bf9d6ca4cd2f7133f934b (patch)
treeeee8090888e6d1f68dd6360110f8a9e93241559f /sequencer.c
parent4ef3d8f0336d4d1d5a57de9ac7c0cfdb09b974b1 (diff)
downloadgit-c527b55e74181291da9bf9d6ca4cd2f7133f934b.zip
git-c527b55e74181291da9bf9d6ca4cd2f7133f934b.tar.gz
git-c527b55e74181291da9bf9d6ca4cd2f7133f934b.tar.bz2
sequencer: lib'ify do_recursive_merge()
Instead of dying there, let the caller high up in the callchain notice the error and handle it (by dying, still). The only caller of do_recursive_merge(), do_pick_commit() already checks the return value and passes it on to its callers, so its caller must be already prepared to handle error returns, and with this step, we make it notice an error return from this function. So this is a safe conversion to make do_recursive_merge() callable from new callers that want it not to die, without changing the external behaviour of anything existing. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r--sequencer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sequencer.c b/sequencer.c
index ec85fe7..eb70091 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -303,7 +303,8 @@ static int do_recursive_merge(struct commit *base, struct commit *next,
if (active_cache_changed &&
write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
/* TRANSLATORS: %s will be "revert" or "cherry-pick" */
- die(_("%s: Unable to write new index file"), action_name(opts));
+ return error(_("%s: Unable to write new index file"),
+ action_name(opts));
rollback_lock_file(&index_lock);
if (opts->signoff)