[PATCH 3/5] sequencer: sequencer state is useless without todo
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Nov 5, 2011, 16:29 UTC
- Message-ID
- <1320510586-3940-4-git-send-email-artagnon@gmail.com>
- In-Reply-To
- <1320510586-3940-1-git-send-email-artagnon@gmail.com>
Later in the series, we will not write '.git/sequencer/todo' for a single commit cherry-pick, because 'CHERRY_PICK_HEAD' already contains this information. So, stomp the sequencer state in create_seq_state() unless the todo file is present.
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> --- sequencer.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/sequencer.c b/sequencer.c index e566043..517eb23 100644 --- a/sequencer.c +++ b/sequencer.c @@ -654,11 +654,15 @@ static void walk_revs_populate_todo(struct replay_insn_list **todo_list, static int create_seq_dir(void) { + const char *todo_file = git_path(SEQ_TODO_FILE); const char *seq_dir = git_path(SEQ_DIR); - if (file_exists(seq_dir)) - return error(_("%s already exists."), seq_dir); - else if (mkdir(seq_dir, 0777) < 0) + if (file_exists(todo_file)) + return error(_("%s already exists."), todo_file); + + /* If todo_file doesn't exist, discard sequencer state */ + remove_sequencer_state(1); + if (mkdir(seq_dir, 0777) < 0) die_errno(_("Could not create sequencer directory '%s'."), seq_dir); return 0; }
-- 1.7.6.351.gb35ac.dirty