[PATCH v2 16/34] sequencer (rebase -i): implement the 'reword' command
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Dec 13, 2016, 15:31 UTC
- Message-ID
- <61b34aad6bd063957afc974f3f484cfaf24a3213.1481642927.git.johannes.schindelin@gmx.de>
- In-Reply-To
- <cover.1481642927.git.johannes.schindelin@gmx.de>
This is now trivial, as all the building blocks are in place: all we need to do is to flip the "edit" switch when committing.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- sequencer.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/sequencer.c b/sequencer.c index 4361fe0e94..5a9972fec3 100644 --- a/sequencer.c +++ b/sequencer.c @@ -751,6 +751,7 @@ enum todo_command { TODO_PICK = 0, TODO_REVERT, TODO_EDIT, + TODO_REWORD, TODO_FIXUP, TODO_SQUASH, /* commands that do something else than handling a single commit */ @@ -766,6 +767,7 @@ static struct { { 'p', "pick" }, { 0, "revert" }, { 'e', "edit" }, + { 'r', "reword" }, { 'f', "fixup" }, { 's', "squash" }, { 'x', "exec" }, @@ -1001,7 +1003,9 @@ static int do_pick_commit(enum todo_command command, struct commit *commit, } } - if (is_fixup(command)) { + if (command == TODO_REWORD) + edit = 1; + else if (is_fixup(command)) { if (update_squash_messages(command, commit, opts)) return -1; amend = 1; @@ -1779,7 +1783,8 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts) } else if (res && is_rebase_i(opts)) return res | error_with_patch(item->commit, - item->arg, item->arg_len, opts, res, 0); + item->arg, item->arg_len, opts, res, + item->command == TODO_REWORD); } else if (item->command == TODO_EXEC) { char *end_of_arg = (char *)(item->arg + item->arg_len);
-- 2.11.0.rc3.windows.1