Code

revert: give --continue handling its own function
[git.git] / builtin / revert.c
index 1ea525c10e4c00b66006bf46465ebd490823f25f..9f6c85c1a7104f7626c671169d37cefb4651e22c 100644 (file)
@@ -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)
        }
        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