aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2011-12-10 06:47:36 -0600
committerJunio C Hamano <gitster@pobox.com>2011-12-12 13:06:36 -0800
commit1df9bf46d656970d0db254cb7faab0d0505802e0 (patch)
tree11c24dbb4c87005edef7550dc170068163d56cd1
parentb15aa973b296ca36ae39592491bcb02944ac0f7a (diff)
downloadgit-1df9bf46d656970d0db254cb7faab0d0505802e0.tar.gz
git-1df9bf46d656970d0db254cb7faab0d0505802e0.tar.xz
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>
-rw-r--r--builtin/revert.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/builtin/revert.c b/builtin/revert.c
index 1ea525c10..9f6c85c1a 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -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