diff -r 96fcc37a9c80 -r f90a5c211251 tests/test-rebase-obsolete.t --- a/tests/test-rebase-obsolete.t Thu Oct 22 23:10:06 2020 -0700 +++ b/tests/test-rebase-obsolete.t Tue Oct 27 15:33:15 2020 -0700 @@ -210,7 +210,7 @@ $ hg rebase --source 'desc(B)' --dest 'tip' --config experimental.rebaseskipobsolete=True rebasing 8:8877864f1edb "B" - note: not rebasing 9:08483444fef9 "D", already in destination as 11:4596109a6a43 "D" (tip) + note: not rebasing 9:08483444fef9 "D", already in destination as 11:4596109a6a43 tip "D" rebasing 10:5ae4c968c6ac "C" $ hg debugobsolete 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'} @@ -258,7 +258,7 @@ grafting 11:4596109a6a43 "D" $ hg up -qr 'desc(E)' $ hg rebase -s tip -d . - rebasing 14:9e36056a46e3 "D" (tip) + rebasing 14:9e36056a46e3 tip "D" $ hg log --style default --debug -r tip changeset: 15:627d4614809036ba22b9e7cb31638ddc06ab99ab tag: tip @@ -518,7 +518,7 @@ $ hg rebase --dest 4 --rev '7+11+9' rebasing 9:cf44d2f5a9f4 "D" rebasing 7:02de42196ebe "H" - rebasing 11:0d8f238b634c "C" (tip) + rebasing 11:0d8f238b634c tip "C" $ hg log -G o 14:1e8370e38cca C | @@ -556,9 +556,9 @@ > EOF $ hg rebase -d G -r 'B + D + F' - rebasing 1:112478962961 "B" (B) - rebasing 2:b18e25de2cf5 "D" (D) - rebasing 6:f15c3adaf214 "F" (F tip) + rebasing 1:112478962961 B "B" + rebasing 2:b18e25de2cf5 D "D" + rebasing 6:f15c3adaf214 F tip "F" abort: cannot rebase 6:f15c3adaf214 without moving at least one of its parents [255] @@ -612,7 +612,7 @@ $ hg rebase --dest 6 --rev '((desc(H) + desc(D))::) - desc(M)' rebasing 3:32af7686d403 "D" rebasing 7:02de42196ebe "H" - rebasing 9:4bde274eefcf "I" (tip) + rebasing 9:4bde274eefcf tip "I" 1 new orphan changesets $ hg log -G @ 12:acd174b7ab39 I @@ -656,7 +656,7 @@ $ hg rebase --rev .~1::. --dest 'max(desc(D))' --traceback --config experimental.rebaseskipobsolete=off rebasing 9:4bde274eefcf "I" - rebasing 13:06edfc82198f "J" (tip) + rebasing 13:06edfc82198f tip "J" 2 new content-divergent changesets $ hg log -G @ 15:5ae8a643467b J @@ -787,7 +787,7 @@ $ hg rebase -d 'desc(B2)' note: not rebasing 1:a8b11f55fb19 "B0", already in destination as 3:261e70097290 "B2" - rebasing 4:212cb178bcbb "C" (tip) + rebasing 4:212cb178bcbb tip "C" Even when the chain include missing node @@ -816,7 +816,7 @@ $ hg rebase -d 'desc(B2)' note: not rebasing 1:a8b11f55fb19 "B0", already in destination as 2:261e70097290 "B2" - rebasing 5:1a79b7535141 "D" (tip) + rebasing 5:1a79b7535141 tip "D" $ hg up 4 1 files updated, 0 files merged, 1 files removed, 0 files unresolved $ echo "O" > O @@ -845,7 +845,7 @@ $ hg rebase -d 6 -r "4::" rebasing 4:ff2c4d47b71d "C" note: not rebasing 7:360bbaa7d3ce "O", it has no successor - rebasing 8:8d47583e023f "P" (tip) + rebasing 8:8d47583e023f tip "P" If all the changeset to be rebased are obsolete and present in the destination, we should display a friendly error message @@ -885,7 +885,7 @@ o 0:4a2df7238c3b A $ hg rebase -r . -d 10 - note: not rebasing 11:f44da1f4954c "nonrelevant" (tip), it has no successor + note: not rebasing 11:f44da1f4954c tip "nonrelevant", it has no successor If a rebase is going to create divergence, it should abort @@ -970,7 +970,7 @@ $ hg rebase -s 10 -d 12 --config experimental.evolution.allowdivergence=True rebasing 10:121d9e3bc4c6 "P" - rebasing 14:73568ab6879d "bar foo" (tip) + rebasing 14:73568ab6879d tip "bar foo" 2 new content-divergent changesets $ hg summary parent: 16:61bd55f69bc4 tip @@ -1041,7 +1041,7 @@ $ hg rebase --continue rebasing 19:b82fb57ea638 "willconflict second version" note: not rebasing 20:8b31da3c4919 "dummy change", already in destination as 18:601db7a18f51 "dummy change successor" - rebasing 21:7bdc8a87673d "dummy change" (tip) + rebasing 21:7bdc8a87673d tip "dummy change" $ cd .. Divergence cases due to obsolete changesets @@ -1096,11 +1096,11 @@ consequence f (descendant of d) is left behind. $ hg rebase -b 'e' -d 'x' - rebasing 1:488e1b7e7341 "b" (b) - rebasing 3:a82ac2b38757 "c" (c) - rebasing 5:027ad6c5830d "d'" (d') - rebasing 6:d60ebfa0f1cb "e" (e) - note: not rebasing 4:76be324c128b "d" (d) and its descendants as this would cause divergence + rebasing 1:488e1b7e7341 b "b" + rebasing 3:a82ac2b38757 c "c" + rebasing 5:027ad6c5830d d' "d'" + rebasing 6:d60ebfa0f1cb e "e" + note: not rebasing 4:76be324c128b d "d" and its descendants as this would cause divergence $ hg log -G -r 'a':: o 11:eb6d63fc4ed5 e | @@ -1154,9 +1154,9 @@ (to force the rebase please set experimental.evolution.allowdivergence=True) [255] $ hg rebase --config experimental.evolution.allowdivergence=true -r 'c'::'f' -d 'x' - rebasing 3:a82ac2b38757 "c" (c) - rebasing 4:76be324c128b "d" (d) - rebasing 7:1143e9adc121 "f" (f tip) + rebasing 3:a82ac2b38757 c "c" + rebasing 4:76be324c128b d "d" + rebasing 7:1143e9adc121 f tip "f" 1 new orphan changesets 2 new content-divergent changesets $ hg log -G -r 'a':: -T instabilities @@ -1187,9 +1187,9 @@ (Not skipping obsoletes means that divergence is allowed.) $ hg rebase --config experimental.rebaseskipobsolete=false -r 'c'::'f' -d 'x' - rebasing 3:a82ac2b38757 "c" (c) - rebasing 4:76be324c128b "d" (d) - rebasing 7:1143e9adc121 "f" (f tip) + rebasing 3:a82ac2b38757 c "c" + rebasing 4:76be324c128b d "d" + rebasing 7:1143e9adc121 f tip "f" 1 new orphan changesets 2 new content-divergent changesets @@ -1231,12 +1231,12 @@ o 0:b173517d0057 a $ hg rebase -b 'f' -d 'x' - rebasing 1:488e1b7e7341 "b" (b) - rebasing 3:a82ac2b38757 "c" (c) - rebasing 5:63324dc512ea "e'" (e') - rebasing 7:3ffec603ab53 "f" (f) - rebasing 4:76be324c128b "d" (d) - note: not rebasing 6:e36fae928aec "e" (e) and its descendants as this would cause divergence + rebasing 1:488e1b7e7341 b "b" + rebasing 3:a82ac2b38757 c "c" + rebasing 5:63324dc512ea e' "e'" + rebasing 7:3ffec603ab53 f "f" + rebasing 4:76be324c128b d "d" + note: not rebasing 6:e36fae928aec e "e" and its descendants as this would cause divergence $ hg log -G -r 'a': o 13:a1707a5b7c2c d | @@ -1294,7 +1294,7 @@ o 0:b173517d0057 a $ hg rebase -d 0 -r 2 - rebasing 2:a82ac2b38757 "c" (c) + rebasing 2:a82ac2b38757 c "c" $ hg log -G -r 'a': --hidden o 5:69ad416a4a26 c | @@ -1325,8 +1325,8 @@ 1 new orphan changesets $ hg rebase -d B -s D - note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (B) - rebasing 4:66f1a38021c9 "F" (F tip) + note: not rebasing 2:b18e25de2cf5 D "D", already in destination as 1:112478962961 B "B" + rebasing 4:66f1a38021c9 F tip "F" $ hg log -G o 5:50e9d60b99c6 F |\ @@ -1357,8 +1357,8 @@ 1 new orphan changesets $ hg rebase -d B -s E - note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B) - rebasing 4:66f1a38021c9 "F" (F tip) + note: not rebasing 3:7fb047a69f22 E "E", already in destination as 1:112478962961 B "B" + rebasing 4:66f1a38021c9 F tip "F" $ hg log -G o 5:aae1787dacee F |\ @@ -1389,8 +1389,8 @@ 1 new orphan changesets $ hg rebase -d C -s D - note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (B) - rebasing 5:66f1a38021c9 "F" (F tip) + note: not rebasing 2:b18e25de2cf5 D "D", already in destination as 1:112478962961 B "B" + rebasing 5:66f1a38021c9 F tip "F" $ hg log -G o 6:0913febf6439 F @@ -1424,8 +1424,8 @@ 1 new orphan changesets $ hg rebase -d C -s E - note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B) - rebasing 5:66f1a38021c9 "F" (F tip) + note: not rebasing 3:7fb047a69f22 E "E", already in destination as 1:112478962961 B "B" + rebasing 5:66f1a38021c9 F tip "F" $ hg log -G o 6:c6ab0cc6d220 F |\ @@ -1458,10 +1458,10 @@ 1 new orphan changesets $ hg rebase -d C -b F - rebasing 2:b18e25de2cf5 "D" (D) - note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B) - rebasing 5:66f1a38021c9 "F" (F tip) - note: not rebasing 5:66f1a38021c9 "F" (F tip), its destination already has all its changes + rebasing 2:b18e25de2cf5 D "D" + note: not rebasing 3:7fb047a69f22 E "E", already in destination as 1:112478962961 B "B" + rebasing 5:66f1a38021c9 F tip "F" + note: not rebasing 5:66f1a38021c9 F tip "F", its destination already has all its changes $ hg log -G o 6:8f47515dda15 D | @@ -1494,10 +1494,10 @@ 1 new orphan changesets $ hg rebase -d C -b F - note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (B) - rebasing 3:7fb047a69f22 "E" (E) - rebasing 5:66f1a38021c9 "F" (F tip) - note: not rebasing 5:66f1a38021c9 "F" (F tip), its destination already has all its changes + note: not rebasing 2:b18e25de2cf5 D "D", already in destination as 1:112478962961 B "B" + rebasing 3:7fb047a69f22 E "E" + rebasing 5:66f1a38021c9 F tip "F" + note: not rebasing 5:66f1a38021c9 F tip "F", its destination already has all its changes $ hg log -G o 6:533690786a86 E @@ -1531,8 +1531,8 @@ > EOF $ hg rebase -d D -s B - rebasing 1:112478962961 "B" (B) - note: not rebasing 3:26805aba1e60 "C" (C) and its descendants as this would cause divergence + rebasing 1:112478962961 B "B" + note: not rebasing 3:26805aba1e60 C "C" and its descendants as this would cause divergence $ cd .. @@ -1581,9 +1581,9 @@ > EOS 1 new orphan changesets $ hg rebase -r A+B+E -d F - note: not rebasing 4:a3d17304151f "A" (A), already in destination as 0:96cc3511f894 "C" (C) - note: not rebasing 5:b23a2cc00842 "B" (B), already in destination as 1:058c1e1fb10a "D" (D) - rebasing 7:dac5d11c5a7d "E" (E tip) + note: not rebasing 4:a3d17304151f A "A", already in destination as 0:96cc3511f894 C "C" + note: not rebasing 5:b23a2cc00842 B "B", already in destination as 1:058c1e1fb10a D "D" + rebasing 7:dac5d11c5a7d E tip "E" abort: rebasing 7:dac5d11c5a7d will include unwanted changes from 3:59c792af609c, 5:b23a2cc00842 or 2:ba2b7fa7166d, 4:a3d17304151f [255] $ cd .. @@ -1600,9 +1600,9 @@ > EOS 1 new orphan changesets $ hg rebase -r A+B+D -d Z - note: not rebasing 0:426bada5c675 "A" (A), already in destination as 2:96cc3511f894 "C" (C) - rebasing 1:fc2b737bb2e5 "B" (B) - rebasing 3:b8ed089c80ad "D" (D) + note: not rebasing 0:426bada5c675 A "A", already in destination as 2:96cc3511f894 C "C" + rebasing 1:fc2b737bb2e5 B "B" + rebasing 3:b8ed089c80ad D "D" $ rm .hg/localtags $ hg log -G @@ -1631,9 +1631,9 @@ > EOS 1 new orphan changesets $ hg rebase -r B+A+D -d Z - rebasing 0:426bada5c675 "A" (A) - note: not rebasing 1:fc2b737bb2e5 "B" (B), already in destination as 2:96cc3511f894 "C" (C) - rebasing 3:b8ed089c80ad "D" (D) + rebasing 0:426bada5c675 A "A" + note: not rebasing 1:fc2b737bb2e5 B "B", already in destination as 2:96cc3511f894 C "C" + rebasing 3:b8ed089c80ad D "D" $ rm .hg/localtags $ hg log -G @@ -1669,7 +1669,7 @@ adding b created new head $ hg rebase -r 2 -d 1 - rebasing 2:1e9a3c00cbe9 "b" (tip) + rebasing 2:1e9a3c00cbe9 tip "b" $ hg log -r . # working dir is at rev 3 (successor of 2) 3:be1832deae9a b (no-eol) $ hg book -r 2 mybook --hidden # rev 2 has a bookmark on it now @@ -1679,7 +1679,7 @@ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 2:1e9a3c00cbe9 b (rewritten using rebase as 3:be1832deae9a) (no-eol) $ hg rebase -r 2 -d 3 --config experimental.evolution.track-operation=1 - note: not rebasing 2:1e9a3c00cbe9 "b" (mybook), already in destination as 3:be1832deae9a "b" (tip) + note: not rebasing 2:1e9a3c00cbe9 mybook "b", already in destination as 3:be1832deae9a tip "b" Check that working directory and bookmark was updated to rev 3 although rev 2 was skipped $ hg log -r . @@ -1706,8 +1706,8 @@ $ hg update D1 -q $ hg bookmark book -i $ hg rebase -r B+D1 -d E - rebasing 1:112478962961 "B" (B) - note: not rebasing 5:15ecf15e0114 "D1" (book D1 tip), already in destination as 2:0807738e0be9 "D2" (D2) + rebasing 1:112478962961 B "B" + note: not rebasing 5:15ecf15e0114 D1 tip book "D1", already in destination as 2:0807738e0be9 D2 "D2" 1 new orphan changesets $ hg log -G -T '{desc} {bookmarks}' @ B book @@ -1819,7 +1819,7 @@ continue: hg rebase --continue $ hg rebase --continue rebasing 1:2ec65233581b "B" - rebasing 3:7829726be4dc "C" (tip) + rebasing 3:7829726be4dc tip "C" $ hg log -G @ 5:1964d5d5b547 C | @@ -2112,9 +2112,9 @@ o 0: 1994f17a630e 'A' bookmarks: $ hg rebase -s 1 -d 5 - rebasing 1:6c81ed0049f8 "B" (X) - rebasing 2:49cb3485fa0c "C" (Y) - rebasing 3:67a385d4e6f2 "D" (Z) + rebasing 1:6c81ed0049f8 X "B" + rebasing 2:49cb3485fa0c Y "C" + rebasing 3:67a385d4e6f2 Z "D" merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')