[RFC/PATCH 00/18] WIP implement cherry-pick/revert --continue
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Nov 25, 2010, 21:20 UTC
- Message-ID
- <20101125210138.5188.13115.chriscool@tuxfamily.org>
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 processingStephan 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