Re: [PATCH 02/11] Introduce a performance test for git-rebase
From: Thomas Rast <hidden>
Date: 2016-06-15 22:53:17
Junio C Hamano [off-list ref] writes:
Thomas Rast [off-list ref] writes:quoted
However, it's pretty obvious that 'rebase -f' is slow compared to 'rebase -m'. So slow in fact that the user would be better off running an *interactive* rebase.The mention of "-f" got me off track, but does "-m" avoid creating new commits when it does not have to? A side effect "-f" has is to replay _all_ the commits, if I recall correctly.
Sorry, my bad. *All* tests use -f for exactly that reason.
quoted
Now I'm not really keen on hacking on git-am until it gets back its performance, as for most uses it's probably still fast enough. But I think one important question is: can we get rid of the git-format-patch|git-am mode of git-rebase, which has historically been a source of pain (see, e.g., the aforementioned 43c2325)?In the longer term, the right way forward is to try doing less in the patch mode in rebase. For example, the command could make the list of commits to be replayed exactly the same way as it does for flattening cherry-pick rebase, and instead of running "am", run "format-patch --stdout | apply --3way --whitespace=fix --index" and commit the result using "commit -C". That way it can depend on "commit -C" and does not have to worry about stupid things like 43c2325.
Ah, but that's a trap, or do you have an apply --3way series sitting
somewhere ;-)
--
Thomas Rast
trast@{inf,student}.ethz.ch