diff -r 3ef4980353af -r c6fc1000af1e tests/test-prune.t --- 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 ..