On 16/04/2019 15:51, Ævar Arnfjörð Bjarmason wrote:
On Tue, Apr 16 2019, Junio C Hamano wrote:
* pw/rebase-i-internal-rfc (2019-03-21) 12 commits
- rebase -i: run without forking rebase--interactive
- rebase: use a common action enum
- rebase -i: use struct rebase_options in do_interactive_rebase()
- rebase -i: use struct rebase_options to parse args
- rebase -i: use struct object_id for squash_onto
- rebase -i: use struct commit when parsing options
- rebase -i: remove duplication
- rebase -i: combine rebase--interactive.c with rebase.c
- rebase: use OPT_RERERE_AUTOUPDATE()
- rebase: rename write_basic_state()
- sequencer: always discard index after checkout
- Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal-rfc
(this branch uses ag/sequencer-reduce-rewriting-todo.)
The internal implementation of "git rebase -i" has been updated to
avoid forking a separate "rebase--interactive" process.
Comments? Is this ready?
I gave this some stress testing/review in your infra, works for me so
far, and a good performance improvement.
My only problem with it is that the commit message doesn't note just
quite how awesome it is, but I can live with that :)
Thanks for testing this, I'll send a re-roll that mentions the
performance improvement. I'm still surprised by it, are you seeing an
improvement in production as well as on the perf test you mentioned
before? I wonder if some of the improvement is due to
ag/sequencer-reduce-rewriting-todo if that wasn't in master when you ran
the benchmarks but I haven't had time to investigate.
Best Wishes
Phillip