Hi,
The much awaited cherry-pick --continue and --skip-all are here. Much
thanks to Jonathan for all his inputs. I think I can safely say that
I'm quite happy with the general state of this series now. Apart from
the introduction of the the new features, there have been a few minor
improvements in the rest of the series since the last iteration.
Unfortunately, it's still not ready for inclusion for the following
reasons:
1. --skip-all isn't a great name; maybe --quit as Christian suggested?
2. I don't know what to do when a reset is invoked. If we do nothing,
we'd break users' habits. Jonathan suggested that we move
.git/sequencer to .git/sequencer-cancelled on a hard reset, and this
seems like a plausible solution. More inputs on this?
3. --continue is obviously broken, because of lack of command-line
option support. I think I should evolve the parser little by little-
first, I can persist the global opts structure, and then start
supporting per-command options. That way, it'll be easy to get the
parser reviewed.
4. Tests are too basic. I need to write more elaborate tests.
Thanks for reading.
Note: The series is also available on the 'sequencer-continue' branch of my
GitHub fork: http://github.com/artagnon/git
-- Ram
Ramkumar Ramachandra (13):
advice: Introduce error_resolve_conflict
revert: Factor out add_message_to_msg function
revert: Don't check lone argument in get_encoding
revert: Propogate errors upwards from do_pick_commit
revert: Eliminate global "commit" variable
revert: Rename no_replay to record_origin
revert: Introduce struct to keep command-line options
revert: Separate cmdline parsing from functional code
revert: Catch incompatible command-line options early
revert: Persist data for continuation
revert: Introduce a layer of indirection over pick_commits
revert: Introduce --skip-all to cleanup sequencer data
revert: Introduce --continue to continue the operation
advice.c | 19 +-
advice.h | 1 +
builtin/revert.c | 585 +++++++++++++++++++++++++++---------
git-rebase--interactive.sh | 25 ++-
t/t3032-merge-recursive-options.sh | 2 +
t/t3501-revert-cherry-pick.sh | 1 +
t/t3502-cherry-pick-merge.sh | 9 +-
t/t3504-cherry-pick-rerere.sh | 2 +
t/t3505-cherry-pick-empty.sh | 14 +-
t/t3506-cherry-pick-ff.sh | 3 +
t/t3507-cherry-pick-conflict.sh | 24 ++-
t/t3510-cherry-pick-sequence.sh | 79 +++++
t/t7502-commit.sh | 1 +
13 files changed, 596 insertions(+), 169 deletions(-)
create mode 100644 t/t3510-cherry-pick-sequence.sh