Phillip Wood <phillip.wood...@gmail.com> writes:

> From: Phillip Wood <phillip.w...@dunelm.org.uk>
>
> When the builtin rebase starts an interactive rebase it parses the
> options and then repackages them and forks `rebase--interactive`. This
> series refactors rebase--interactive so that interactive rebases can
> be started by the builtin rebase without forking. My motivation was to
> make it easier to debug the sequencer but this should help future
> maintainability.
>
> This series involves some code movement so viewing the diffs with
> --color-moved is recommended.
>
> These patches are based on a merge of master [e902e9bcae ("The second
> batch", 2019-03-11)] and ag/sequencer-reduce-rewriting-todo ed35d18841
> ("rebase--interactive: move transform_todo_file()", 2019-03-05). They
> can be fetched from the tag rebase-i-no-fork/rfc at
> https://github.com/phillipwood/git.git

Exciting.

>
> Phillip Wood (11):
>   sequencer: always discard index after checkout
>   rebase: rename write_basic_state()
>   rebase: use OPT_RERERE_AUTOUPDATE()
>   rebase -i: combine rebase--interactive.c with rebase.c
>   rebase -i: remove duplication
>   rebase -i: use struct commit when parsing options
>   rebase -i: use struct object_id for squash_onto
>   rebase -i: use struct rebase_options to parse args
>   rebase -i: use struct rebase_options in do_interactive_rebase()
>   rebase: use a common action enum
>   rebase -i: run without forking rebase--interactive
>
>  Makefile                      |   1 -
>  builtin/rebase--interactive.c | 377 --------------------
>  builtin/rebase.c              | 625 ++++++++++++++++++++++++++--------
>  parse-options-cb.c            |  34 ++
>  parse-options.h               |   4 +
>  sequencer.c                   |  42 ++-
>  sequencer.h                   |   7 +-
>  7 files changed, 556 insertions(+), 534 deletions(-)
>  delete mode 100644 builtin/rebase--interactive.c

Reply via email to