Re: [PATCH 4/9] rebase -i: also expand/collapse the SHA-1s via the rebase--helper
From: Johannes Schindelin <hidden>
Date: 2016-09-03 07:02:40
Hi Dennis, On Fri, 2 Sep 2016, Dennis Kaarsemaker wrote:
On vr, 2016-09-02 at 18:23 +0200, Johannes Schindelin wrote:quoted
This is crucial to improve performance on Windows, as the speed is now mostly dominated by the SHA-1 transformation (because it spawns a new rev-parse process for *every* line, and spawning processes is pretty slow from Git for Windows' MSYS2 Bash).I see these functions only used as part of an shorten-edit-expand sequence. Why not do a git rebase-helper --edit-todo instead? Saves another few process spawnings.
It would make sense to consolidate the steps, yes. I just tried to be careful in my incremental approach and am fairly certain about the current revision faithfully replicating the previous behavior.
Something for yet another later followup patch?
Sure. Probably more than one patch, though: I could imagine that a minor refactoring would allow us to read in the todo script once, then apply the individual processing steps in-memory, and then write out the new todo script. And then we can implement an --edit-todo with an optional --initial flag that triggers the check for validity and the rearranging of the fixup/squash commands (when the user calls `git rebase --edit-todo`, neither of those steps should be run). Maybe you will want to have a look into that while I am mostly offline? Ciao, Dscho