diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2017-01-02 16:28:00 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-01-09 14:57:30 -0800 |
commit | 04efc8b57c17ab31de1c4c53e52838659dfeecc5 (patch) | |
tree | 8c6aa922c59676aae8acc3a06f46c1bde93d599c | |
parent | sequencer (rebase -i): leave a patch upon error (diff) | |
download | tgif-04efc8b57c17ab31de1c4c53e52838659dfeecc5.tar.xz |
sequencer (rebase -i): implement the 'reword' command
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | sequencer.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sequencer.c b/sequencer.c index a2002f1c12..50e998acc4 100644 --- a/sequencer.c +++ b/sequencer.c @@ -718,6 +718,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 */ @@ -733,6 +734,7 @@ static struct { { 'p', "pick" }, { 0, "revert" }, { 'e', "edit" }, + { 'r', "reword" }, { 'f', "fixup" }, { 's', "squash" }, { 'x', "exec" }, @@ -962,7 +964,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; @@ -1771,7 +1775,8 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts) item->arg_len, item->arg); } 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); int saved = *end_of_arg; |