After all of these patch series y'all had to review, this is finally the one that switches things over. Please note that it does not (yet) handle the `git rebase -i --root` invocation; I tried to focus on the common case, and I rarely use --root myself. Please note also that --preserve-merges is *not* handled. The way I designed --preserve-merges is totally stupid and idiotic and I do not want to spend any further time on it. You cannot "pick" merges and hope to be able to reorder commits, for example. And please finally note that this pair of patches does not yet yield the full speed improvement that I promised earlier. After these patches, the time is dominated by pre- and post-processing the todo script, at least on Windows, so there is another patch series that ports those bits and pieces into the rebase--helper, too. Johannes Schindelin (2): Add a builtin helper for interactive rebases rebase -i: use the rebase--helper builtin .gitignore | 1 + Makefile | 1 + builtin.h | 1 + builtin/rebase--helper.c | 40 ++++++++++++++++++++++++++++++++++++++++ git-rebase--interactive.sh | 13 +++++++++++++ git.c | 1 + 6 files changed, 57 insertions(+) create mode 100644 builtin/rebase--helper.c Based-On: sequencer-i at https://github.com/dscho/git Fetch-Base-Via: git fetch https://github.com/dscho/git sequencer-i Published-As: https://github.com/dscho/git/releases/tag/rebase--helper-v1 Fetch-It-Via: git fetch https://github.com/dscho/git rebase--helper-v1 -- 2.9.3.windows.3 base-commit: bbec81903b5e46c481fdc0cfe6f10166423526f1