Mercurial > public > mercurial-scm > hg-stable
diff tests/test-rebase-inmemory.t @ 45561:feffeb18d412
rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
When in-memory rebase runs into conflicts, it redoes the whole rebase
operation. This patch teaches it to instead discard just the current
`overlayworkingctx` and redo that node on disk.
I've tested this by enabling in-memory rebase by default and checking
that there are no unexpected differences after this patch.
The next step is to make it so that `hg rebase --continue` can use
in-memory merge.
Differential Revision: https://phab.mercurial-scm.org/D9076
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 18 Sep 2020 15:03:06 -0700 |
parents | 1f5c548f15e5 |
children | 39e2cf7cb120 f90a5c211251 |
line wrap: on
line diff
--- a/tests/test-rebase-inmemory.t Thu Sep 24 16:30:17 2020 +0200 +++ b/tests/test-rebase-inmemory.t Fri Sep 18 15:03:06 2020 -0700 @@ -415,8 +415,6 @@ rebasing 3:055a42cdd887 "d" rebasing 4:e860deea161a "e" merging e - transaction abort! - rollback completed hit a merge conflict [1] $ hg diff @@ -463,12 +461,7 @@ rebasing 3:055a42cdd887 "d" rebasing 4:e860deea161a "e" merging e - transaction abort! - rollback completed - hit merge conflicts; re-running rebase without in-memory merge - rebasing 2:177f92b77385 "c" - rebasing 3:055a42cdd887 "d" - rebasing 4:e860deea161a "e" + hit merge conflicts; rebasing that commit again in the working copy merging e warning: conflicts while merging e! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') @@ -487,9 +480,9 @@ rebasing 3:055a42cdd887 "d" rebasing 4:e860deea161a "e" merging e + hit merge conflicts; rebasing that commit again in the working copy transaction abort! rollback completed - hit merge conflicts; re-running rebase without in-memory merge abort: uncommitted changes [255] $ cat a @@ -859,8 +852,7 @@ $ hg rebase -r . -d 1 --config ui.merge=internal:merge3 rebasing 2:fb62b706688e "add b to foo" (tip) merging foo - hit merge conflicts; re-running rebase without in-memory merge - rebasing 2:fb62b706688e "add b to foo" (tip) + hit merge conflicts; rebasing that commit again in the working copy merging foo warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') @@ -893,8 +885,7 @@ $ hg rebase -r 2 -d 1 -t:merge3 rebasing 2:b4d249fbf8dd "bye from foo" merging foo - hit merge conflicts; re-running rebase without in-memory merge - rebasing 2:b4d249fbf8dd "bye from foo" + hit merge conflicts; rebasing that commit again in the working copy merging foo warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')