mirror of
https://github.com/git/git.git
synced 2026-01-28 11:32:24 +00:00
sequencer: remember do_recursive_merge()'s return value
The return value of do_recursive_merge() may be positive (indicating merge conflicts), so let's OR later error conditions so as not to overwrite them with 0. This is not yet a problem, but preparing for the patches to come: we will teach the sequencer to do rebase -i's job. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
11
sequencer.c
11
sequencer.c
@@ -630,7 +630,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
|
||||
const char *base_label, *next_label;
|
||||
struct commit_message msg = { NULL, NULL, NULL, NULL };
|
||||
struct strbuf msgbuf = STRBUF_INIT;
|
||||
int res, unborn = 0, allow;
|
||||
int res = 0, unborn = 0, allow;
|
||||
|
||||
if (opts->no_commit) {
|
||||
/*
|
||||
@@ -741,7 +741,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
|
||||
}
|
||||
|
||||
if (!opts->strategy || !strcmp(opts->strategy, "recursive") || command == TODO_REVERT) {
|
||||
res = do_recursive_merge(base, next, base_label, next_label,
|
||||
res |= do_recursive_merge(base, next, base_label, next_label,
|
||||
head, &msgbuf, opts);
|
||||
if (res < 0)
|
||||
return res;
|
||||
@@ -750,7 +750,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
|
||||
struct commit_list *common = NULL;
|
||||
struct commit_list *remotes = NULL;
|
||||
|
||||
res = write_message(&msgbuf, git_path_merge_msg());
|
||||
res |= write_message(&msgbuf, git_path_merge_msg());
|
||||
|
||||
commit_list_insert(base, &common);
|
||||
commit_list_insert(next, &remotes);
|
||||
@@ -787,11 +787,12 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
|
||||
|
||||
allow = allow_empty(opts, commit);
|
||||
if (allow < 0) {
|
||||
res = allow;
|
||||
res |= allow;
|
||||
goto leave;
|
||||
}
|
||||
if (!opts->no_commit)
|
||||
res = sequencer_commit(opts->edit ? NULL : git_path_merge_msg(),
|
||||
res |= sequencer_commit(opts->edit ?
|
||||
NULL : git_path_merge_msg(),
|
||||
opts, allow, opts->edit, 0, 0);
|
||||
|
||||
leave:
|
||||
|
||||
Reference in New Issue
Block a user