This is an archive of the discontinued Mercurial Phabricator instance.

rebase: allow in-memory merge of the working copy parent

Authored by martinvonz on Mar 15 2018, 4:20 PM.



Before this patch and when the rebase involved the working copy parent
(and thus the working copy too), we would not do in-memory rebase even
if requested to. The in-code comment explains that the reason had
something to do with avoiding an extra update, but I don't know which
update that refers to. Perhaps an earlier version of the code used to
update to the destination before rebasing even if in-memory rebase was
requested? That seems to not be done at least since aa660c1203a9
(rebase: do not bail on uncomitted changes if rebasing in-memory,

To see if this still made it slower, I create a single tiny commit on
top of one branch of the mozilla-unified repo (commit a1098c82 to be
exact) and rebased it to another branch (commit d4e9a7be). Before this
patch that took 11.8s and after this patch it took 8.6s (I only did
two runs each, but the timings were very consistent).

Diff Detail

rHG Mercurial
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

martinvonz created this revision.Mar 15 2018, 4:20 PM
phillco accepted this revision.Mar 15 2018, 4:40 PM
pulkit accepted this revision.Mar 17 2018, 2:05 PM
This revision was automatically updated to reflect the committed changes.