sequencer: do not die() in do_pick_commit()
Instead of dying there, let the caller high up in the callchain notice the error and handle it (by dying, still). The eventual caller of do_pick_commit() is sequencer_pick_revisions(), which already relays a reported error from its helper functions (including this one), and both of its two callers know how to react to a negative return correctly. So this makes do_pick_commit() 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>
This commit is contained in:
parent
b9b946d4a4
commit
dbfad033d4
14
sequencer.c
14
sequencer.c
@ -585,12 +585,14 @@ static int do_pick_commit(struct commit *commit, struct replay_opts *opts)
|
||||
* However, if the merge did not even start, then we don't want to
|
||||
* write it at all.
|
||||
*/
|
||||
if (opts->action == REPLAY_PICK && !opts->no_commit && (res == 0 || res == 1))
|
||||
update_ref(NULL, "CHERRY_PICK_HEAD", commit->object.oid.hash, NULL,
|
||||
REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
|
||||
if (opts->action == REPLAY_REVERT && ((opts->no_commit && res == 0) || res == 1))
|
||||
update_ref(NULL, "REVERT_HEAD", commit->object.oid.hash, NULL,
|
||||
REF_NODEREF, UPDATE_REFS_DIE_ON_ERR);
|
||||
if (opts->action == REPLAY_PICK && !opts->no_commit && (res == 0 || res == 1) &&
|
||||
update_ref(NULL, "CHERRY_PICK_HEAD", commit->object.oid.hash, NULL,
|
||||
REF_NODEREF, UPDATE_REFS_MSG_ON_ERR))
|
||||
res = -1;
|
||||
if (opts->action == REPLAY_REVERT && ((opts->no_commit && res == 0) || res == 1) &&
|
||||
update_ref(NULL, "REVERT_HEAD", commit->object.oid.hash, NULL,
|
||||
REF_NODEREF, UPDATE_REFS_MSG_ON_ERR))
|
||||
res = -1;
|
||||
|
||||
if (res) {
|
||||
error(opts->action == REPLAY_REVERT
|
||||
|
Loading…
Reference in New Issue
Block a user