diff -r 3dd5a6f83f8b -r f5d472b7e800 tests/test-inhibit.t --- a/tests/test-inhibit.t Fri Oct 20 16:07:40 2017 +0200 +++ b/tests/test-inhibit.t Fri Oct 20 19:32:18 2017 +0200 @@ -100,7 +100,7 @@ $ echo babar > cJ $ hg commit --amend $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | o 6:cf5c4f4554ce add cH | @@ -112,7 +112,7 @@ $ hg debugobsinhibit --hidden 18214586bf78 $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -128,7 +128,7 @@ and no divergence $ hg summary - parent: 8:55c73a90e4b4 tip + parent: 9:55c73a90e4b4 tip add cJ branch: default commit: (clean) @@ -146,7 +146,7 @@ $ wc -m .hg/store/obsinhibit | sed -e 's/^[ \t]*//' 20 .hg/store/obsinhibit $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -160,7 +160,7 @@ $ hg phase --public 7 1 new phase-divergent changesets - $ hg strip 8 + $ hg strip 9 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory now at cf5c4f4554ce 1 changesets pruned @@ -179,7 +179,7 @@ $ wc -m .hg/store/obsinhibit | sed -e 's/^[ \t]*//' 20 .hg/store/obsinhibit $ hg log -G - o 8:55c73a90e4b4 add cJ + o 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -196,7 +196,7 @@ $ hg update 2 --hidden 2 files updated, 0 files merged, 3 files removed, 0 files unresolved $ hg log -G - o 8:55c73a90e4b4 add cJ + o 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -213,10 +213,10 @@ o 0:54ccbc537fc2 add cA - $ hg update 8 + $ hg update 9 4 files updated, 0 files merged, 2 files removed, 0 files unresolved $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -235,7 +235,7 @@ $ hg strip --hidden 1:: 3 changesets pruned $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -251,7 +251,7 @@ Bookmark should inhibit all related unstable commits $ hg bookmark -r 2 book1 --hidden $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -276,7 +276,7 @@ bookmark 'book1' deleted 1 changesets pruned $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -294,7 +294,7 @@ bookmark 'book2' deleted 1 changesets pruned $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -397,14 +397,14 @@ $ mkcommit cK created new head $ mkcommit cL - $ hg update -C 8 + $ hg update -C 9 4 files updated, 0 files merged, 2 files removed, 0 files unresolved $ hg log -G - o 10:53a94305e133 add cL + o 11:53a94305e133 add cL | - o 9:ad78ff7d621f add cK + o 10:ad78ff7d621f add cK | - | @ 8:55c73a90e4b4 add cJ + | @ 9:55c73a90e4b4 add cJ | | | | o 7:18214586bf78 add cJ | |/ @@ -416,10 +416,10 @@ |/ o 0:54ccbc537fc2 add cA - $ hg strip --hidden 9: + $ hg strip --hidden 10: 2 changesets pruned $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -431,21 +431,21 @@ | o 0:54ccbc537fc2 add cA - $ hg rebase -s 9 -d 3 - abort: hidden revision '9'! + $ hg rebase -s 10 -d 3 + abort: hidden revision '3'! (use --hidden to access hidden revisions; pruned) [255] $ hg rebase -r ad78ff7d621f -r 53a94305e133 -d 2db36d8066ff --config experimental.rebaseskipobsolete=0 + Warning: accessing hidden changesets 2db36d8066ff for write operation Warning: accessing hidden changesets ad78ff7d621f,53a94305e133 for write operation - Warning: accessing hidden changesets 2db36d8066ff for write operation - rebasing 9:ad78ff7d621f "add cK" - rebasing 10:53a94305e133 "add cL" (tip) + rebasing 10:ad78ff7d621f "add cK" + rebasing 11:53a94305e133 "add cL" $ hg log -G - o 12:2f7b7704d714 add cL + o 13:2f7b7704d714 add cL | - o 11:fe1634cbe235 add cK + o 12:fe1634cbe235 add cK | - | @ 8:55c73a90e4b4 add cJ + | @ 9:55c73a90e4b4 add cJ | | | | o 7:18214586bf78 add cJ | |/ @@ -476,7 +476,7 @@ $ hg strip --hidden 1:: 5 changesets pruned $ hg log -G - @ 8:55c73a90e4b4 add cJ + @ 9:55c73a90e4b4 add cJ | | o 7:18214586bf78 add cJ |/ @@ -494,13 +494,13 @@ $ mkcommit cM $ mkcommit cN $ hg log -G - @ 15:a438c045eb37 add cN + @ 16:a438c045eb37 add cN | - o 14:2d66e189f5b5 add cM + o 15:2d66e189f5b5 add cM | - o 13:d66ccb8c5871 add cL + o 14:d66ccb8c5871 add cL | - | o 8:55c73a90e4b4 add cJ + | o 9:55c73a90e4b4 add cJ | | o | 7:18214586bf78 add cJ |/ @@ -512,20 +512,20 @@ | o 0:54ccbc537fc2 add cA - $ hg up 14 + $ hg up 15 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo "mmm" >> cM $ hg amend $ hg log -G - @ 16:210589181b14 add cM + @ 18:210589181b14 add cM | - | o 15:a438c045eb37 add cN + | o 16:a438c045eb37 add cN | | - | o 14:2d66e189f5b5 add cM + | o 15:2d66e189f5b5 add cM |/ - o 13:d66ccb8c5871 add cL + o 14:d66ccb8c5871 add cL | - | o 8:55c73a90e4b4 add cJ + | o 9:55c73a90e4b4 add cJ | | o | 7:18214586bf78 add cJ |/ @@ -539,18 +539,18 @@ Check that rebasing a commit twice makes the commit visible again - $ hg rebase -d 16 -r 15 --keep - rebasing 15:a438c045eb37 "add cN" - $ hg log -r 13:: -G - o 17:104eed5354c7 add cN + $ hg rebase -d 18 -r 16 --keep + rebasing 16:a438c045eb37 "add cN" + $ hg log -r 14:: -G + o 19:104eed5354c7 add cN | - @ 16:210589181b14 add cM + @ 18:210589181b14 add cM | - | o 15:a438c045eb37 add cN + | o 16:a438c045eb37 add cN | | - | o 14:2d66e189f5b5 add cM + | o 15:2d66e189f5b5 add cM |/ - o 13:d66ccb8c5871 add cL + o 14:d66ccb8c5871 add cL | ~ $ hg strip -r 210589181b14 @@ -561,18 +561,18 @@ Using a hash prefix solely made of digits should work $ hg update 210589181 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg rebase -d 16 -r 15 --keep - rebasing 15:a438c045eb37 "add cN" - $ hg log -r 13:: -G - o 17:104eed5354c7 add cN + $ hg rebase -d 18 -r 16 --keep + rebasing 16:a438c045eb37 "add cN" + $ hg log -r 14:: -G + o 19:104eed5354c7 add cN | - @ 16:210589181b14 add cM + @ 18:210589181b14 add cM | - | o 15:a438c045eb37 add cN + | o 16:a438c045eb37 add cN | | - | o 14:2d66e189f5b5 add cM + | o 15:2d66e189f5b5 add cM |/ - o 13:d66ccb8c5871 add cL + o 14:d66ccb8c5871 add cL | ~ @@ -583,25 +583,25 @@ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory now at d66ccb8c5871 2 changesets pruned - $ hg log -r 13:: -G -T '{rev}:{node|short} {desc|firstline} {bookmarks}\n' - o 15:a438c045eb37 add cN + $ hg log -r 14:: -G -T '{rev}:{node|short} {desc|firstline} {bookmarks}\n' + o 16:a438c045eb37 add cN | - o 14:2d66e189f5b5 add cM + o 15:2d66e189f5b5 add cM | - @ 13:d66ccb8c5871 add cL foo + @ 14:d66ccb8c5871 add cL foo | ~ Check that --hidden used with inhibit does not hide every obsolete commit We show the log before and after a log -G --hidden, they should be the same $ hg log -G - o 15:a438c045eb37 add cN + o 16:a438c045eb37 add cN | - o 14:2d66e189f5b5 add cM + o 15:2d66e189f5b5 add cM | - @ 13:d66ccb8c5871 add cL + @ 14:d66ccb8c5871 add cL | - | o 8:55c73a90e4b4 add cJ + | o 9:55c73a90e4b4 add cJ | | o | 7:18214586bf78 add cJ |/ @@ -614,25 +614,29 @@ o 0:54ccbc537fc2 add cA $ hg log -G --hidden - x 17:104eed5354c7 add cN + x 19:104eed5354c7 add cN | - x 16:210589181b14 add cM + x 18:210589181b14 add cM | - | o 15:a438c045eb37 add cN + | x 17:b3c3274523f9 temporary amend commit for 2d66e189f5b5 | | - | o 14:2d66e189f5b5 add cM + | | o 16:a438c045eb37 add cN + | |/ + | o 15:2d66e189f5b5 add cM |/ - @ 13:d66ccb8c5871 add cL + @ 14:d66ccb8c5871 add cL | - | x 12:2f7b7704d714 add cL + | x 13:2f7b7704d714 add cL | | - | x 11:fe1634cbe235 add cK + | x 12:fe1634cbe235 add cK | | - | | x 10:53a94305e133 add cL + | | x 11:53a94305e133 add cL + | | | + | | x 10:ad78ff7d621f add cK | | | - | | x 9:ad78ff7d621f add cK - | | | - | | | o 8:55c73a90e4b4 add cJ + | | | o 9:55c73a90e4b4 add cJ + | | | | + +-------x 8:e84f73d9ad36 temporary amend commit for 18214586bf78 | | | | o-----+ 7:18214586bf78 add cJ / / / @@ -652,13 +656,13 @@ $ hg log -G - o 15:a438c045eb37 add cN + o 16:a438c045eb37 add cN | - o 14:2d66e189f5b5 add cM + o 15:2d66e189f5b5 add cM | - @ 13:d66ccb8c5871 add cL + @ 14:d66ccb8c5871 add cL | - | o 8:55c73a90e4b4 add cJ + | o 9:55c73a90e4b4 add cJ | | o | 7:18214586bf78 add cJ |/ @@ -696,7 +700,7 @@ > evolution=createmarkers > EOF - $ hg up 14 + $ hg up 15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (2d66e189f5b5) $ cat >> $HGRCPATH < cM $ hg amend $ hg log -G - @ 18:721c3c279519 add cM + @ 21:721c3c279519 add cM | - | o 15:a438c045eb37 add cN + | o 16:a438c045eb37 add cN | | - | x 14:2d66e189f5b5 add cM + | x 15:2d66e189f5b5 add cM |/ - o 13:d66ccb8c5871 add cL + o 14:d66ccb8c5871 add cL | o 7:18214586bf78 add cJ | @@ -739,11 +743,11 @@ $ hg up a438c045eb37 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg rebase -r 14:: -d 18 --config experimental.rebaseskipobsolete=True - note: not rebasing 14:2d66e189f5b5 "add cM", already in destination as 18:721c3c279519 "add cM" (tip) - rebasing 15:a438c045eb37 "add cN" + $ hg rebase -r 15:: -d 21 --config experimental.rebaseskipobsolete=True + note: not rebasing 15:2d66e189f5b5 "add cM", already in destination as 21:721c3c279519 "add cM" + rebasing 16:a438c045eb37 "add cN" $ hg up -q 2d66e189f5b5 # To inhibit it as the rest of test depends on it - $ hg up -q 18 + $ hg up -q 21 Directaccess should load after some extensions precised in the conf With no extension specified: @@ -813,112 +817,87 @@ adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) - 1 new obsolescence markers + 2 new obsolescence markers Create a stack (obsolete with successor in dest) -> (not obsolete) and rebase it. We expect to not see the stack at the end of the rebase. - $ hg log -G -r "003a4735afde::" - x 20:003a4735afde add pk + $ hg log -G -r "25::" + @ 25:71eb4f100663 add pk | ~ - $ hg log -G - @ 21:71eb4f100663 add pk - | - | o 19:46cb6daad392 add cN - |/ - o 18:721c3c279519 add cM - | - | o 16:210589181b14 add cM - |/ - | o 14:2d66e189f5b5 add cM - |/ - o 13:d66ccb8c5871 add cL - | - | o 8:55c73a90e4b4 add cJ - | | - o | 7:18214586bf78 add cJ - |/ - o 6:cf5c4f4554ce add cH - | - o 5:5419eb264a33 add cG - | - o 4:98065434e5c6 add cE - | - o 0:54ccbc537fc2 add cA - - $ hg up -C 46cb6daad392 + $ hg up -C 22 1 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mkcommit Dk - $ hg prune 46cb6daad392 -s 71eb4f100663 + $ hg prune 22 -s 25 1 changesets pruned - $ hg rebase -s 46cb6daad392 -d 71eb4f100663 --config experimental.rebaseskipobsolete=True - note: not rebasing 19:46cb6daad392 "add cN", already in destination as 21:71eb4f100663 "add pk" - rebasing 22:7ad60e760c7b "add Dk" (tip) - $ hg log -G -r "71eb4f100663::" - @ 23:1192fa9fbc68 add Dk + $ hg rebase -s 22 -d 25 --config experimental.rebaseskipobsolete=True + note: not rebasing 22:46cb6daad392 "add cN", already in destination as 25:71eb4f100663 "add pk" + rebasing 26:7ad60e760c7b "add Dk" (tip) + $ hg log -G -r "25::" + @ 27:1192fa9fbc68 add Dk | - o 21:71eb4f100663 add pk + o 25:71eb4f100663 add pk | ~ Create a stack (obsolete with succ in dest) -> (not obsolete) -> (not obsolete). Rebase the first two revs of the stack onto dest, we expect to see one new revision on the destination and everything visible. - $ hg up 71eb4f100663 + $ hg up 25 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mkcommit Dl created new head $ mkcommit Dp $ mkcommit Do - $ hg log -G -r "71eb4f100663::" - @ 26:b517facce1ef add Do + $ hg log -G -r "25::" + @ 30:b517facce1ef add Do | - o 25:c5a47ab27c2e add Dp + o 29:c5a47ab27c2e add Dp | - o 24:8c1c2edbaf1b add Dl + o 28:8c1c2edbaf1b add Dl | - | o 23:1192fa9fbc68 add Dk + | o 27:1192fa9fbc68 add Dk |/ - o 21:71eb4f100663 add pk + o 25:71eb4f100663 add pk | ~ - $ hg prune 8c1c2edbaf1b -s 1192fa9fbc68 + $ hg prune 28 -s 27 1 changesets pruned - $ hg up 71eb4f100663 + $ hg up 25 0 files updated, 0 files merged, 3 files removed, 0 files unresolved - $ hg rebase -r "8c1c2edbaf1b + c5a47ab27c2e" --keep -d 1192fa9fbc68 --config experimental.rebaseskipobsolete=True - note: not rebasing 24:8c1c2edbaf1b "add Dl", already in destination as 23:1192fa9fbc68 "add Dk" - rebasing 25:c5a47ab27c2e "add Dp" - $ hg log -G -r "71eb4f100663::" - o 27:7d8affb1f604 add Dp + $ hg rebase -r "28 + 29" --keep -d 27 --config experimental.rebaseskipobsolete=True + note: not rebasing 28:8c1c2edbaf1b "add Dl", already in destination as 27:1192fa9fbc68 "add Dk" + rebasing 29:c5a47ab27c2e "add Dp" + $ hg log -G -r "25::" + o 31:7d8affb1f604 add Dp | - | o 26:b517facce1ef add Do + | o 30:b517facce1ef add Do | | - | o 25:c5a47ab27c2e add Dp + | o 29:c5a47ab27c2e add Dp | | - | o 24:8c1c2edbaf1b add Dl + | o 28:8c1c2edbaf1b add Dl | | - o | 23:1192fa9fbc68 add Dk + o | 27:1192fa9fbc68 add Dk |/ - @ 21:71eb4f100663 add pk + @ 25:71eb4f100663 add pk | ~ Rebase the same stack in full on the destination, we expect it to disappear and only see the top revision added to destination. We don\'t expect 29 to be skipped as we used --keep before. - $ hg rebase -s 8c1c2edbaf1b -d 1192fa9fbc68 --config experimental.rebaseskipobsolete=True - note: not rebasing 24:8c1c2edbaf1b "add Dl", already in destination as 23:1192fa9fbc68 "add Dk" - rebasing 25:c5a47ab27c2e "add Dp" - rebasing 26:b517facce1ef "add Do" - $ hg log -G -r "71eb4f100663::" - o 28:1d43fff9e26f add Do + $ hg rebase -s 28 -d 27 --config experimental.rebaseskipobsolete=True + note: not rebasing 28:8c1c2edbaf1b "add Dl", already in destination as 27:1192fa9fbc68 "add Dk" + rebasing 29:c5a47ab27c2e "add Dp" + rebasing 30:b517facce1ef "add Do" + $ hg log -G -r "25::" + o 32:1d43fff9e26f add Do | - o 27:7d8affb1f604 add Dp + o 31:7d8affb1f604 add Dp | - o 23:1192fa9fbc68 add Dk + o 27:1192fa9fbc68 add Dk | - @ 21:71eb4f100663 add pk + @ 25:71eb4f100663 add pk | ~