Hi, I'm excited to announce the first iteration of a fresh series -- this one is intended for inclusion. There are five new patches since last time, the most significant of which is "revert: Save command-line options for continuing operation", which introduces a parser for command-line options. Some patches might be slightly controversial, but I think most of the new ideas have already been discussed previously. Another significant introduction is "sequencer: Announce sequencer state location" -- this is where most of the post mid-term work will go. I would have liked to reuse the gitconfig parser as-is for the opts parsing, but it's too tangled up in config.c. I think it's safe to say that the opts file format deviates only slightly from the gitconfig format, and I'm quite happy with the end result. What this requires now: 1. Review all existing code. Many things might have moved around due to heavy rebasing. 2. Repetition of unimplemented suggestions. I'm sorry if I've missed out some -- I was focusing on new features this time, not fixing existing problems. 3. Rigorous testing of the new options parser. We don't want segfaults because of a silly parser. 4. New tests and documentation. There's really no end to this, so please suggest only things that are absolutely necessary before inclusion. In general, please point out things that need to be done immediately before the inclusion. The series is becoming large and unmanagable -- we can fix minor issues after the merge. Thanks for reading. -- Ram Ramkumar Ramachandra (17): advice: Introduce error_resolve_conflict revert: Inline add_message_to_msg function revert: Don't check lone argument in get_encoding revert: Rename no_replay to record_origin revert: Propogate errors upwards from do_pick_commit revert: Eliminate global "commit" variable revert: Introduce struct to keep command-line options revert: Separate cmdline parsing from functional code revert: Don't create invalid replay_opts in parse_args sequencer: Announce sequencer state location revert: Save data for continuing after conflict resolution revert: Save command-line options for continuing operation revert: Introduce a layer of indirection over pick_commits reset: Make hard reset remove the sequencer state revert: Remove sequencer state when no commits are pending revert: Introduce --reset to remove sequencer state revert: Introduce --continue to continue the operation Documentation/git-cherry-pick.txt | 6 + Documentation/git-revert.txt | 6 + Documentation/sequencer.txt | 9 + Makefile | 2 + advice.c | 31 +- advice.h | 3 +- builtin/reset.c | 2 + builtin/revert.c | 863 ++++++++++++++++++++++++++++++------- git-rebase--interactive.sh | 25 +- sequencer.c | 19 + sequencer.h | 19 + t/7106-reset-sequence.sh | 40 ++ t/t3510-cherry-pick-sequence.sh | 197 +++++++++ 13 files changed, 1058 insertions(+), 164 deletions(-) create mode 100644 Documentation/sequencer.txt create mode 100644 sequencer.c create mode 100644 sequencer.h create mode 100755 t/7106-reset-sequence.sh create mode 100755 t/t3510-cherry-pick-sequence.sh -- 1.7.5.GIT -- 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