Browse Source

revert: give --continue handling its own function

This makes pick_revisions() a little shorter and easier to read
straight through.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jonathan Nieder 13 years ago committed by Junio C Hamano
parent
commit
1df9bf46d6
  1. 28
      builtin/revert.c

28
builtin/revert.c

@ -1038,6 +1038,21 @@ static int pick_commits(struct commit_list *todo_list, struct replay_opts *opts) @@ -1038,6 +1038,21 @@ static int pick_commits(struct commit_list *todo_list, struct replay_opts *opts)
return 0;
}

static int sequencer_continue(struct replay_opts *opts)
{
struct commit_list *todo_list = NULL;

if (!file_exists(git_path(SEQ_TODO_FILE)))
return error(_("No %s in progress"), action_name(opts));
read_populate_opts(&opts);
read_populate_todo(&todo_list, opts);

/* Verify that the conflict has been resolved */
if (!index_differs_from("HEAD", 0))
todo_list = todo_list->next;
return pick_commits(todo_list, opts);
}

static int pick_revisions(struct replay_opts *opts)
{
struct commit_list *todo_list = NULL;
@ -1056,17 +1071,8 @@ static int pick_revisions(struct replay_opts *opts) @@ -1056,17 +1071,8 @@ static int pick_revisions(struct replay_opts *opts)
}
if (opts->subcommand == REPLAY_ROLLBACK)
return sequencer_rollback(opts);
if (opts->subcommand == REPLAY_CONTINUE) {
if (!file_exists(git_path(SEQ_TODO_FILE)))
return error(_("No %s in progress"), action_name(opts));
read_populate_opts(&opts);
read_populate_todo(&todo_list, opts);

/* Verify that the conflict has been resolved */
if (!index_differs_from("HEAD", 0))
todo_list = todo_list->next;
return pick_commits(todo_list, opts);
}
if (opts->subcommand == REPLAY_CONTINUE)
return sequencer_continue(opts);

/*
* Start a new cherry-pick/ revert sequence; but

Loading…
Cancel
Save