On 2019.03.19 19:03, Phillip Wood wrote: > From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> > > 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 > > 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 Although I'm not very familiar with the rebase code, this series looks good to me. Reviewed-by: Josh Steadmon <steadmon@xxxxxxxxxx>