tests/test-prev-next.t
branchmercurial-4.8
changeset 4356 a71f2271ed76
parent 4294 8974a05a49fa
child 4359 2cbb9914d227
child 4393 159a4a6ded0b
child 4395 610999a1bae1
--- a/tests/test-prev-next.t	Tue Jan 22 10:43:44 2019 -0500
+++ b/tests/test-prev-next.t	Tue Jan 22 10:46:02 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 ..
@@ -482,3 +483,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