}
static int do_pick_commit(struct repository *r,
- enum todo_command command,
- struct commit *commit,
+ struct todo_item *item,
struct replay_opts *opts,
int final_fixup, int *check_todo)
{
struct commit_message msg = { NULL, NULL, NULL, NULL };
struct strbuf msgbuf = STRBUF_INIT;
int res, unborn = 0, reword = 0, allow, drop_commit;
+ enum todo_command command = item->command;
+ struct commit *commit = item->commit;
if (opts->no_commit) {
/*
setenv(GIT_REFLOG_ACTION, reflog_message(opts,
command_to_string(item->command), NULL),
1);
- res = do_pick_commit(r, item->command, item->commit,
- opts, is_final_fixup(todo_list),
+ res = do_pick_commit(r, item, opts,
+ is_final_fixup(todo_list),
&check_todo);
if (is_rebase_i(opts))
setenv(GIT_REFLOG_ACTION, prev_reflog_action, 1);
struct replay_opts *opts)
{
int check_todo;
+ struct todo_item item;
+
+ item.command = opts->action == REPLAY_PICK ?
+ TODO_PICK : TODO_REVERT;
+ item.commit = cmit;
setenv(GIT_REFLOG_ACTION, action_name(opts), 0);
- return do_pick_commit(r, opts->action == REPLAY_PICK ?
- TODO_PICK : TODO_REVERT, cmit, opts, 0,
- &check_todo);
+ return do_pick_commit(r, &item, opts, 0, &check_todo);
}
int sequencer_pick_revisions(struct repository *r,