Mercurial > hg
diff tests/test-rebase-scenario-global.t @ 31514:2519994d25ca
rebase: use one dirstateguard for entire rebase
Recently we switched rebases to run the entire rebase inside a single
transaction, which dramatically improved the speed of rebases in repos with
large working copies. Let's also move the dirstate into a single dirstateguard
to get the same benefits. This let's us avoid serializing the dirstate after
each commit.
In a large repo, rebasing 27 commits is sped up by about 20%.
I believe the test changes are because us touching the dirstate gave the
transaction something to actually rollback.
author | Durham Goode <durham@fb.com> |
---|---|
date | Sun, 19 Mar 2017 11:54:15 -0700 |
parents | 681046de87f1 |
children | be3584712b20 b63351f6a246 |
line wrap: on
line diff
--- a/tests/test-rebase-scenario-global.t Fri Mar 10 15:52:29 2017 -0800 +++ b/tests/test-rebase-scenario-global.t Sun Mar 19 11:54:15 2017 -0700 @@ -270,6 +270,8 @@ $ hg rebase -s 6 -d 1 rebasing 6:eea13746799a "G" + transaction abort! + rollback completed abort: cannot use revision 6 as base, result would have 3 parents [255] $ hg rebase --abort