tests/test-prune.t
branchmercurial-4.6
changeset 4772 c6fc1000af1e
parent 4702 fcecbb1261f2
child 4773 7fe0be34f662
child 4867 769b907e644e
--- a/tests/test-prune.t	Wed Jun 05 17:45:45 2019 +0200
+++ b/tests/test-prune.t	Mon Jul 29 11:40:22 2019 +0200
@@ -229,17 +229,18 @@
   814c38b95e72dfe2cbf675b1649ea9d780c89a80 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'}
   354011cd103f58bbbd9091a3cee6d6a6bd0dddf7 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
 
-two old, two new with --pair
+two old, two new with --pair (also test bookmark move)
 
   $ hg up 0
   0 files updated, 0 files merged, 4 files removed, 0 files unresolved
+  $ hg bookmark prune-pair-book
   $ mkcommit n1
   created new head
   $ mkcommit n2
 
   $ hg prune 'desc("add n1")::desc("add n2")' -s 'desc("add nD")::desc("add nE")' --pair
-  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
-  working directory is now at 1f0dee641bb7
+  4 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  working directory is now at 6e8148413dd5
   2 changesets pruned
   $ hg debugobsolete
   9d206ffc875e1bc304590549be293be36821e66c 0 {47d2a3944de8b013de3be9578e8e344ea2e6c097} (Sat Dec 15 00:00:00 1979 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'blah'}
@@ -252,11 +253,15 @@
   354011cd103f58bbbd9091a3cee6d6a6bd0dddf7 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   cb7f8f706a6532967b98cf8583a81baab79a0fa7 8ee176ff1d4b2034ce51e3efc579c2de346b631d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   21b6f2f1cece8c10326e575dd38239189d467190 6e8148413dd541855b72a920a90c06fca127c7e7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
+  $ hg log --hidden -r 'desc("add n2") + desc("add nE") + bookmark("prune-pair-book")'
+  14:21b6f2f1cece[] (obsolete/draft) add n2
+  12:6e8148413dd5[prune-pair-book] (draft) add nE
 
 test hg strip replacement
 
   $ hg up 10
-  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  (leaving bookmark prune-pair-book)
   $ mkcommit n1
   created new head
   $ mkcommit n2
@@ -454,3 +459,45 @@
      r10                       8:d62d843c9a01
      rg                        15:cd0038e05e1b
 
+  $ cd ..
+
+Test that prune doesn't update off when pruning unrelated commit (issue6137)
+----------------------------------------------------------------------------
+
+  $ hg init issue6137
+  $ cd issue6137
+  $ echo a > a
+  $ hg ci -Aqm "added a"
+  $ echo b > b
+  $ hg ci -Aqm "added b"
+
+  $ hg prune .
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  working directory is now at 9092f1db7931
+  1 changesets pruned
+
+  $ echo c > c
+  $ hg ci -Aqm "added c"
+
+update to obsoleted revision and perform prune on unrelated revision:
+  $ hg up -r "desc('added b')" --hidden -q
+  updating to a hidden changeset 5f6d8a4bf34a
+  (hidden revision '5f6d8a4bf34a' is pruned)
+  working directory parent is obsolete! (5f6d8a4bf34a)
+
+  $ hg log -G
+  o  2:29edef26570b[] (draft) added c
+  |
+  | @  1:5f6d8a4bf34a[] (obsolete/draft) added b
+  |/
+  o  0:9092f1db7931[] (draft) added a
+  
+  $ hg prune -r "desc('added c')"
+  1 changesets pruned
+
+  $ hg par
+  1:5f6d8a4bf34a[] (obsolete/draft) added b
+  working directory parent is obsolete! (5f6d8a4bf34a)
+  (use 'hg evolve' to update to its parent successor)
+
+  $ cd ..