The parsing part of a 'drop' command is almost identical to parsing a
'pick', while the operation is the same as that of a 'noop'.

Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
---
 sequencer.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/sequencer.c b/sequencer.c
index 366ee78..51c2f76 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -762,7 +762,8 @@ enum todo_command {
        TODO_FIXUP,
        TODO_SQUASH,
        TODO_EXEC,
-       TODO_NOOP
+       TODO_NOOP,
+       TODO_DROP
 };
 
 static struct {
@@ -776,7 +777,8 @@ static struct {
        { 'f', "fixup" },
        { 's', "squash" },
        { 'x', "exec" },
-       { 0,   "noop" }
+       { 0,   "noop" },
+       { 'd', "drop" }
 };
 
 static const char *command_to_string(const enum todo_command command)
@@ -1309,7 +1311,7 @@ static int parse_insn_buffer(char *buf, struct todo_list 
*todo_list)
                else if (is_fixup(item->command))
                        return error("Cannot '%s' without a previous commit",
                                command_to_string(item->command));
-               else if (item->command != TODO_NOOP)
+               else if (item->command < TODO_NOOP)
                        fixup_okay = 1;
                p = *eol ? eol + 1 : eol;
        }
@@ -1800,7 +1802,7 @@ static enum todo_command peek_command(struct todo_list 
*todo_list, int offset)
        int i;
 
        for (i = todo_list->current + offset; i < todo_list->nr; i++)
-               if (todo_list->items[i].command != TODO_NOOP)
+               if (todo_list->items[i].command < TODO_NOOP)
                        return todo_list->items[i].command;
 
        return -1;
@@ -1933,7 +1935,7 @@ static int pick_commits(struct todo_list *todo_list, 
struct replay_opts *opts)
                        res = do_exec(item->arg);
                        *end_of_arg = saved;
                }
-               else if (item->command != TODO_NOOP)
+               else if (item->command < TODO_NOOP)
                        return error("Unknown command %d", item->command);
 
                todo_list->current++;
-- 
2.10.0.rc2.102.g5c102ec


Reply via email to