--- a/tests/test-prev-next.t Mon Dec 24 17:47:29 2018 +0100
+++ b/tests/test-prev-next.t Tue Jan 22 12:55:09 2019 -0500
@@ -184,7 +184,7 @@
$ hg amend -m 'added b (2)'
1 new orphan changesets
- $ hg next
+ $ hg next --no-evolve
no children
(1 unstable changesets to be evolved here, do you want --evolve?)
[1]
@@ -231,7 +231,7 @@
$ hg am -m 'added b (3)'
2 new orphan changesets
- $ hg next
+ $ hg next --no-evolve
no children
(2 unstable changesets to be evolved here, do you want --evolve?)
[1]
@@ -375,6 +375,7 @@
$ hg next --evolve
abort: uncommitted changes
+ (use `hg amend`, `hg revert` or `hg shelve`)
[255]
$ cd ..
@@ -481,3 +482,107 @@
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
[2] added bar
+
+Add test which shows that now `next` command does not get confused by split:
+----------------------------------------------------------------------------
+ $ cd ..
+ $ mkdir nextconfused
+ $ cd nextconfused
+ $ hg init
+ $ echo firstline > a
+ $ hg add a
+ $ hg ci -qm A
+ $ echo bbbbb > b
+ $ echo secondline >> a
+ $ hg add b
+ $ hg ci -qm B
+ $ echo ccccc > c
+ $ hg add c
+ $ hg ci -qm C
+ $ hg log -GT "{rev}:{node|short} {desc}\n"
+ @ 2:fdc998261dcb C
+ |
+ o 1:cc0edb0cc2b1 B
+ |
+ o 0:cae96ff49c84 A
+
+ $ hg up 1
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg split << EOF
+ > y
+ > y
+ > n
+ > Y
+ > y
+ > y
+ > EOF
+ 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ reverting a
+ adding b
+ diff --git a/a b/a
+ 1 hunks, 1 lines changed
+ examine changes to 'a'? [Ynesfdaq?] y
+
+ @@ -1,1 +1,2 @@
+ firstline
+ +secondline
+ record change 1/2 to 'a'? [Ynesfdaq?] y
+
+ diff --git a/b b/b
+ new file mode 100644
+ examine changes to 'b'? [Ynesfdaq?] n
+
+ created new head
+ continue splitting? [Ycdq?] Y
+ diff --git a/b b/b
+ new file mode 100644
+ examine changes to 'b'? [Ynesfdaq?] y
+
+ @@ -0,0 +1,1 @@
+ +bbbbb
+ record this change to 'b'? [Ynesfdaq?] y
+
+ no more change to split
+ 1 new orphan changesets
+
+ $ hg up 3 -q
+ $ hg log -GT "{rev}:{node|short} {desc}\n"
+ o 4:279f6cab32b5 B
+ |
+ |
+ | new desc
+ @ 3:a9f74d07e45c B
+ |
+ |
+ | new desc
+ | * 2:fdc998261dcb C
+ | |
+ | x 1:cc0edb0cc2b1 B
+ |/
+ o 0:cae96ff49c84 A
+
+ $ hg ci --amend -m "B modified"
+ 1 new orphan changesets
+ $ hg log -GT "{rev}:{node|short} {desc}\n"
+ @ 5:64ab03d3110c B modified
+ |
+ | * 4:279f6cab32b5 B
+ | |
+ | |
+ | | new desc
+ | x 3:a9f74d07e45c B
+ |/
+ |
+ | new desc
+ | * 2:fdc998261dcb C
+ | |
+ | x 1:cc0edb0cc2b1 B
+ |/
+ o 0:cae96ff49c84 A
+
+ $ hg next --evolve << EOF
+ > q
+ > EOF
+ move:[4] B
+ atop:[5] B modified
+ working directory now at 1b434459c7e7