tests/test-prev-next.t
branchmercurial-4.4
changeset 3817 5ca297e78f2c
parent 3590 d5adce52cef4
parent 3813 27e7ed2d13a6
child 3818 f8677cb11dcb
child 4076 f9a850018daa
--- a/tests/test-prev-next.t	Wed Apr 25 14:09:35 2018 +0100
+++ b/tests/test-prev-next.t	Fri Jun 08 22:52:52 2018 +0530
@@ -354,3 +354,130 @@
   atop:[3] one
   working directory now at a7d885c75614
   $ wait
+
+testing next --evolve when working directory is dirty
+
+  $ hg log -GT "{rev}:{node|short} {desc|firstline}"
+  @  4:a7d885c75614 two
+  |
+  o  3:c741983992fc one
+  
+
+  $ hg up .^
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ echo foobar > bar
+  $ hg add bar
+  $ hg amend
+  1 new orphan changesets
+
+  $ echo babar > bar
+
+  $ hg next --evolve
+  abort: uncommitted changes
+  [255]
+
+  $ cd ..
+
+Testing that `next` and `prev` respects `commands.update.check=noconflict`
+
+  $ hg init noconflict
+  $ cd noconflict
+  $ echo "[commands]" >> .hg/hgrc
+  $ echo "update.check=noconflict" >> .hg/hgrc
+
+  $ echo hi > wat
+  $ hg ci -Aqm "added wat"
+  $ echo hi > foo
+  $ hg ci -Aqm "added foo"
+  $ echo hi > bar
+  $ hg ci -Aqm "added bar"
+
+testing for `hg prev`
+
+  $ echo bar > wat
+  $ hg prev
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  [1] added foo
+  $ hg diff
+  diff -r cf959ce4e1ff wat
+  --- a/wat	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/wat	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,1 +1,1 @@
+  -hi
+  +bar
+
+testing for `hg next`
+
+  $ hg next
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  [2] added bar
+  $ hg diff
+  diff -r ac3de1218820 wat
+  --- a/wat	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/wat	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,1 +1,1 @@
+  -hi
+  +bar
+
+test that we dont end up in merge conflicts
+
+  $ echo bar > bar
+  $ hg prev
+  abort: conflicting changes
+  (do you want --merge?)
+  [255]
+
+  $ echo hi > bar
+  $ hg prev
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  [1] added foo
+  $ echo bar > bar
+  $ hg add bar
+
+  $ hg next
+  abort: conflicting changes
+  (do you want --merge?)
+  [255]
+
+Test that --merge still works fine with commands.update.check set
+
+XXX: yes we want --merge and we passed that!
+  $ echo hi > bar
+  $ echo bar >> bar
+  $ hg next --merge
+  merging bar
+  warning: conflicts while merging bar! (edit, then use 'hg resolve --mark')
+  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges
+  [2] added bar
+
+  $ echo babar > bar
+  $ hg resolve -m
+  (no more unresolved files)
+
+Testing --merge works with other values of commands.update.check also
+
+XXX: things are broken!
+  $ hg prev --merge --config commands.update.check=abort
+  local [working copy] changed bar which other [destination] deleted
+  use (c)hanged version, (d)elete, or leave (u)nresolved? 
+  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges
+  [1] added foo
+
+  $ hg revert --all
+  forgetting bar
+  reverting wat
+  $ hg resolve -m
+  (no more unresolved files)
+
+  $ echo bar > bar
+  $ hg add bar
+
+  $ hg next --merge --config commands.update.check=abort
+  merging bar
+  warning: conflicts while merging bar! (edit, then use 'hg resolve --mark')
+  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges
+  [2] added bar