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
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
Fetch-It-Via: git fetch https://github.com/dscho/git rebase--helper-v1