Hi, I've tried a slightly different approach: the objective of the patches seem to be much clearer this time. [1/6] revert: move replay_action, replay_subcommand to header [2/6] revert: decouple sequencer actions from builtin commands [3/6] revert: don't let revert continue a cherry-pick [4/6] revert: allow mixing "pick" and "revert" actions [5/6] revert: report fine-grained error messages from insn parser [6/6] sequencer: factor code out of revert builtin [1/6] first moves out a couple of data structures to the header [2/6] decouples "actions" from a "commands" completely. Although this sort of separation might not be necessary at this stage (because we just have a couple of actions that directly correspond to builtin commands), I think it makes [4/6] much easier to read. [3/6] mainly exists so that [4/6] doesn't allow 'git revert --continue' to continue a 'git cherry-pick' and viceversa. Note that a 'git revert --continue' can execute an instruction sheet with "pick" instructions and viceversa after [4/6]. [4/6] should be very clear this time: do_pick_commit() takes an extra argument "action", and checks that instead of the "opts->command" everywhere. The parser is also updated to parse into (commit, action) pairs. [5/6] is fairly straightforward. [6/6] makes the final move. This is something I've been pushing for quite some time: exciting things like 'git continue' will follow this. Cheers! builtin/revert.c | 959 +------------------------------------- sequencer.c | 987 ++++++++++++++++++++++++++++++++++++++- sequencer.h | 49 ++ t/t3510-cherry-pick-sequence.sh | 57 ++- 4 files changed, 1088 insertions(+), 964 deletions(-) -- 1.7.8.2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html