This a a work in progress to show where this is going and to discuss it. There are many things missing among other: * no documentation * missing tests, especially for "revert" * when cherry-pick fails the error message does not advertise --continue * resolving a failing cherry-pick is not handled * commit messages could be improved a lot * ... Many patches in this series are replacing calls to "die()" by "return error()", because the TODO and DONE files are written only when cherry-pick fails. This is efficient but perhaps it would be simpler and safer to write them before each cherry-pick just in case it fails, so that the "die()" calls don't need to be removed. Christian Couder (17): advice: add error_resolve_conflict() function revert: change many die() calls into "return error()" calls usage: implement error_errno() the same way as die_errno() revert: don't die when write_message() fails commit: move reverse_commit_list() into commit.{h,c} revert: remove "commit" global variable revert: put option information in an option struct revert: refactor code into a new pick_commits() function revert: make pick_commits() return an error on --ff incompatible option revert: make read_and_refresh_cache() and prepare_revs() return errors revert: add get_todo_content() and create_todo_file() revert: write TODO and DONE files in case of failure revert: add option parsing for option --continue revert: move global variable "me" into "struct args_info" revert: add NONE action and make parse_args() manage it revert: add remaining instructions in todo file revert: implement --continue processing Stephan Beyer (1): revert: implement parsing TODO and DONE files advice.c | 25 +- advice.h | 1 + builtin/revert.c | 692 ++++++++++++++++++++++++++++------- commit.c | 11 + commit.h | 2 + git-compat-util.h | 1 + merge-recursive.c | 11 - t/t3508-cherry-pick-many-commits.sh | 101 +++++ usage.c | 28 ++- 9 files changed, 717 insertions(+), 155 deletions(-) -- 1.7.3.2.504.g59d466 -- 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