# HG changeset patch # User Matt Harbison # Date 1665180898 14400 # Node ID b1d1f4ade14264240862173274c653c9a5a21203 # Parent 3bad2060db25d8fea0c3dd644100697cfd7ff209 evolve: don't embed graft data when completing interrupted evolve operations This data shows in TortoiseHg, and is a bit awkward since it wasn't added before in the non interrupted case. It originated before 823031b51d81, when the implementation changed away from using the graft command. According to @marmoute, unconditionally adding `source` served as noise to create a new hash and prevent a cycle, so use the same key (`rebase_source`) as would happen in the uninterrupted case (as demonstrated by the first change in test-stabilize-conflict.t). diff -r 3bad2060db25 -r b1d1f4ade142 hgext3rd/evolve/evolvecmd.py --- a/hgext3rd/evolve/evolvecmd.py Sat Oct 29 17:26:46 2022 +0400 +++ b/hgext3rd/evolve/evolvecmd.py Fri Oct 07 18:14:58 2022 -0400 @@ -959,6 +959,15 @@ _finalizerelocate(repo, orig, dest, nodenew, tr, category, evolvestate) return nodenew +# This is copied from hgext.rebase._savegraft() +def _savegraft(ctx, extra): + s = ctx.extra().get(b'source', None) + if s is not None: + extra[b'source'] = s + s = ctx.extra().get(b'intermediate-source', None) + if s is not None: + extra[b'intermediate-source'] = s + def _relocatecommit(repo, orig, dest, pctx, keepbranch, commitmsg, update): extra = dict(orig.extra()) if b'branch' in extra: @@ -2191,13 +2200,11 @@ orig = repo[evolvestate[b'current']] ctx = orig - source = ctx.extra().get(b'source') + extra = {} - if source: - extra[b'source'] = source - extra[b'intermediate-source'] = ctx.hex() - else: - extra[b'source'] = ctx.hex() + _savegraft(ctx, extra) + extra[b'rebase_source'] = orig.hex() + user = ctx.user() date = ctx.date() message = ctx.description() diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-abort-orphan.t --- a/tests/test-evolve-abort-orphan.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-abort-orphan.t Fri Oct 07 18:14:58 2022 -0400 @@ -167,7 +167,7 @@ continue: hg evolve --continue $ hg evolve --continue evolving 4:c41c793e0ef1 "added d" - working directory is now at e83de241f751 + working directory is now at 69c43da639bb $ hg up .^^^ 0 files updated, 0 files merged, 3 files removed, 0 files unresolved @@ -215,7 +215,7 @@ | () draft o 7:125af0ed8cae added a | () draft - | * 6:e83de241f751 added d + | * 6:69c43da639bb added d | | () draft orphan | % 5:e93a9161a274 added c | | () draft orphan @@ -234,7 +234,7 @@ $ hg glog @ 7:125af0ed8cae added a | () draft - | * 6:e83de241f751 added d + | * 6:69c43da639bb added d | | () draft orphan | * 5:e93a9161a274 added c | | () draft orphan diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-abort-phasediv.t --- a/tests/test-evolve-abort-phasediv.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-abort-phasediv.t Fri Oct 07 18:14:58 2022 -0400 @@ -302,7 +302,7 @@ continue: hg evolve --continue $ hg evolve --continue evolving 9:28cd06b3f801 "added c" - committed as 95d746965290 + committed as 92acf49069a4 recreate:[10] added d atop:[4] added d rebasing to destination parent: ca1b80f7960a diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-content-divergent-relocation.t --- a/tests/test-evolve-content-divergent-relocation.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-content-divergent-relocation.t Fri Oct 07 18:14:58 2022 -0400 @@ -524,16 +524,16 @@ [240] $ hg diff - diff -r 5049972c0e21 y + diff -r 1d81f53f31a4 y --- a/y Thu Jan 01 00:00:00 1970 +0000 +++ b/y Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,5 @@ - +<<<<<<< local: 5049972c0e21 - test: added z + +<<<<<<< local: 1d81f53f31a4 - test: added z foo +======= +watbar +>>>>>>> other: 7e87b40e3aa8 bar - test: added z - diff -r 5049972c0e21 z + diff -r 1d81f53f31a4 z --- a/z Thu Jan 01 00:00:00 1970 +0000 +++ b/z Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,1 @@ @@ -545,10 +545,10 @@ (no more unresolved files) continue: hg evolve --continue $ hg evolve --continue - working directory is now at 04eb6e8d253d + working directory is now at eae98f1d3ae7 $ hg glog - @ 27:04eb6e8d253d added z + @ 27:eae98f1d3ae7 added z | () [bar] draft o 21:26dd4974d99f added y | () [bar] draft @@ -571,17 +571,17 @@ # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 # Branch bar - # Node ID 04eb6e8d253d5f17e0d9b1518678e015c272704e + # Node ID eae98f1d3ae723ed9f81e99a2eb0855305a6f5c3 # Parent 26dd4974d99f30b9c9b259e22254b29474155d45 added z - diff -r 26dd4974d99f -r 04eb6e8d253d y + diff -r 26dd4974d99f -r eae98f1d3ae7 y --- a/y Thu Jan 01 00:00:00 1970 +0000 +++ b/y Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,1 @@ -watbar +foo - diff -r 26dd4974d99f -r 04eb6e8d253d z + diff -r 26dd4974d99f -r eae98f1d3ae7 z --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/z Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,1 @@ @@ -609,15 +609,15 @@ 136e58088ce2a46749c73256b02608ca9be0fe09 f4c3594c72e7140404222d25e8827292e5d1a728 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'} 136e58088ce2a46749c73256b02608ca9be0fe09 da49edc1732932755e2c42d91b6883e6616ff40b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '68', 'operation': 'rebase', 'user': 'test'} da49edc1732932755e2c42d91b6883e6616ff40b 7e87b40e3aa8d28f0ba07c1cec4f562e57ba7c12 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'} - f4c3594c72e7140404222d25e8827292e5d1a728 5049972c0e212e0ad051e628b37d162097944b5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'evolve', 'user': 'test'} - 5049972c0e212e0ad051e628b37d162097944b5f 04eb6e8d253d5f17e0d9b1518678e015c272704e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '72', 'operation': 'evolve', 'user': 'test'} - 7e87b40e3aa8d28f0ba07c1cec4f562e57ba7c12 04eb6e8d253d5f17e0d9b1518678e015c272704e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'evolve', 'user': 'test'} + f4c3594c72e7140404222d25e8827292e5d1a728 1d81f53f31a466dd36278a04c919fb50a37f04bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'evolve', 'user': 'test'} + 1d81f53f31a466dd36278a04c919fb50a37f04bd eae98f1d3ae723ed9f81e99a2eb0855305a6f5c3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '72', 'operation': 'evolve', 'user': 'test'} + 7e87b40e3aa8d28f0ba07c1cec4f562e57ba7c12 eae98f1d3ae723ed9f81e99a2eb0855305a6f5c3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'evolve', 'user': 'test'} $ hg obslog --all - @ 04eb6e8d253d (27) added z - |\ rewritten(branch, content) from 5049972c0e21 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) + @ eae98f1d3ae7 (27) added z + |\ rewritten(branch, content) from 1d81f53f31a4 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) | | amended(content) from 7e87b40e3aa8 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) | | - x | 5049972c0e21 (26) added z + x | 1d81f53f31a4 (26) added z | | rewritten(parent, content) from f4c3594c72e7 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) | | | x 7e87b40e3aa8 (25) added z diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-content-divergent-stack.t --- a/tests/test-evolve-content-divergent-stack.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-content-divergent-stack.t Fri Oct 07 18:14:58 2022 -0400 @@ -309,23 +309,23 @@ $ hg evolve -c evolving 18:2ecfb60af48a "added c and newfile" 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - working directory is now at 7e8d59a0286a + working directory is now at e7933de77142 $ hg log -p -l1 - changeset: 21:7e8d59a0286a + changeset: 21:e7933de77142 tag: tip parent: 17:5907cbc074a0 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: added c and newfile - diff -r 5907cbc074a0 -r 7e8d59a0286a c + diff -r 5907cbc074a0 -r e7933de77142 c --- a/c Thu Jan 01 00:00:00 1970 +0000 +++ b/c Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,1 @@ -conflict +c - diff -r 5907cbc074a0 -r 7e8d59a0286a newfile + diff -r 5907cbc074a0 -r e7933de77142 newfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newfile Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,1 @@ @@ -567,21 +567,21 @@ merge:[7] added c with: [12] added c base: [3] added c - rebasing "divergent" content-divergent changeset 3ce4be6d8e5e on 1a79fc84e761 - rebasing "other" content-divergent changeset 8ed612937375 on 1a79fc84e761 + rebasing "divergent" content-divergent changeset 3ce4be6d8e5e on f3872aea30b5 + rebasing "other" content-divergent changeset 8ed612937375 on f3872aea30b5 0 files updated, 0 files merged, 0 files removed, 0 files unresolved merge:[8] added d with: [13] added d base: [4] added d - rebasing "divergent" content-divergent changeset c72d2885eb51 on 6c228f1e5409 - rebasing "other" content-divergent changeset d45f050514c2 on 6c228f1e5409 + rebasing "divergent" content-divergent changeset c72d2885eb51 on 72d58e863d2a + rebasing "other" content-divergent changeset d45f050514c2 on 72d58e863d2a 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg glog - o 25:957008d45543 added d + o 25:1ec6ea2bd496 added d | () [default] draft - o 22:6c228f1e5409 added c + o 22:72d58e863d2a added c | () [default] draft - o 19:1a79fc84e761 added b + o 19:f3872aea30b5 added b | () [default] draft @ 16:c758af982013 watbar to a | () [default] draft @@ -594,7 +594,7 @@ -------------------------------------------------------------- $ hg strip 14: --hidden 0 files updated, 0 files merged, 2 files removed, 0 files unresolved - saved backup bundle to $TESTTMP/stackrepo1/.hg/strip-backup/c758af982013-0af4fee9-backup.hg + saved backup bundle to $TESTTMP/stackrepo1/.hg/strip-backup/c758af982013-458a0e95-backup.hg 8 new content-divergent changesets Insert conflicting changes in between the stack of content-div csets diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-continue.t --- a/tests/test-evolve-continue.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-continue.t Fri Oct 07 18:14:58 2022 -0400 @@ -81,7 +81,7 @@ evolving 4:c41c793e0ef1 "added d" $ hg glog - o 6:2a4e03d422e2 added d + o 6:250d8c3c5ad9 added d | () draft @ 5:cb6a2ab625bb added c | () draft @@ -106,7 +106,7 @@ $ hg glog @ 7:8591ebad2ee8 added b | () draft - | * 6:2a4e03d422e2 added d + | * 6:250d8c3c5ad9 added d | | () draft orphan | * 5:cb6a2ab625bb added c | | () draft orphan @@ -139,9 +139,9 @@ atop:[8] added c $ hg glog - o 9:ee53d012d45b added d + o 9:628919fc6772 added d | () draft - o 8:ba3724c42438 added c + o 8:f8d5006085c0 added c | () draft @ 7:8591ebad2ee8 added b | () draft @@ -166,13 +166,13 @@ 1 new orphan changesets $ hg glog - @ 11:184dba7cf613 added d + @ 11:7898e026e390 added d | () draft - | * 10:87d7311179ee added e + | * 10:5610cf0a9e66 added e | | () draft orphan - | x 9:ee53d012d45b added d + | x 9:628919fc6772 added d |/ () draft - o 8:ba3724c42438 added c + o 8:f8d5006085c0 added c | () draft o 7:8591ebad2ee8 added b | () draft @@ -199,13 +199,13 @@ $ hg diff $ hg evolve --continue - evolving 10:87d7311179ee "added e" - evolution of 10:87d7311179ee created no changes to commit + evolving 10:5610cf0a9e66 "added e" + evolution of 10:5610cf0a9e66 created no changes to commit $ hg glog - @ 11:184dba7cf613 added d + @ 11:7898e026e390 added d | () draft - o 8:ba3724c42438 added c + o 8:f8d5006085c0 added c | () draft o 7:8591ebad2ee8 added b | () draft @@ -243,14 +243,14 @@ move:[8] added c atop:[13] added b move:[11] added d - working directory is now at 44cb92e89781 + working directory is now at e74792b81a55 $ hg glog - @ 15:44cb92e89781 added d + @ 15:e74792b81a55 added d | () draft - o 14:152ba81b0477 added c + o 14:7bf9d72ff3bf added c | () draft - o 13:58b400d15a91 added b + o 13:aaa724b65a25 added b | () draft o 12:53b632d203d8 added a | () draft @@ -263,17 +263,17 @@ $ for ch in f g h; do echo foo > $ch; hg add $ch; hg ci -m "added "$ch; done; $ hg glog - @ 18:bc3b992c22bd added h + @ 18:b0be59de2042 added h | () draft - o 17:28352edcd58d added g + o 17:65a420e37a47 added g | () draft - o 16:f9f6a4a00822 added f + o 16:e27c754278b4 added f | () draft - o 15:44cb92e89781 added d + o 15:e74792b81a55 added d | () draft - o 14:152ba81b0477 added c + o 14:7bf9d72ff3bf added c | () draft - o 13:58b400d15a91 added b + o 13:aaa724b65a25 added b | () draft o 12:53b632d203d8 added a | () draft @@ -290,19 +290,19 @@ 4 new orphan changesets $ hg glog - @ 19:f4023955bf12 added c + @ 19:ebc872a542e5 added c | () draft - | * 18:bc3b992c22bd added h + | * 18:b0be59de2042 added h | | () draft orphan - | * 17:28352edcd58d added g + | * 17:65a420e37a47 added g | | () draft orphan - | * 16:f9f6a4a00822 added f + | * 16:e27c754278b4 added f | | () draft orphan - | * 15:44cb92e89781 added d + | * 15:e74792b81a55 added d | | () draft orphan - | x 14:152ba81b0477 added c + | x 14:7bf9d72ff3bf added c |/ () draft - o 13:58b400d15a91 added b + o 13:aaa724b65a25 added b | () draft o 12:53b632d203d8 added a | () draft @@ -326,7 +326,7 @@ (no more unresolved files) continue: hg evolve --continue $ hg evolve --continue - evolving 16:f9f6a4a00822 "added f" + evolving 16:e27c754278b4 "added f" move:[17] added g atop:[21] added f move:[18] added h @@ -343,23 +343,23 @@ (no more unresolved files) continue: hg evolve --continue $ hg evolve --continue - evolving 18:bc3b992c22bd "added h" - working directory is now at b4b76f2b86eb + evolving 18:b0be59de2042 "added h" + working directory is now at 91c5e26a586a Make sure, confirmopt is respected while continue $ hg glog - @ 23:b4b76f2b86eb added h + @ 23:91c5e26a586a added h | () draft - o 22:c75da1c807b4 added g + o 22:e825e477b74b added g | () draft - o 21:1b1bb06b1b76 added f + o 21:0a2fc6eeeb5c added f | () draft - o 20:63d80a6d5203 added d + o 20:f0c57a8fdffc added d | () draft - o 19:f4023955bf12 added c + o 19:ebc872a542e5 added c | () draft - o 13:58b400d15a91 added b + o 13:aaa724b65a25 added b | () draft o 12:53b632d203d8 added a | () draft @@ -395,24 +395,24 @@ $ hg evolve --continue << EOF > y > EOF - evolving 22:c75da1c807b4 "added g" + evolving 22:e825e477b74b "added g" move:[23] added h atop:[25] added g perform evolve? [Ny] y - working directory is now at 53fa2be5b910 + working directory is now at a590d5f50500 $ hg glog - @ 26:53fa2be5b910 added h + @ 26:a590d5f50500 added h | () draft - o 25:3efe414bea19 added g + o 25:e37fd94c4cdd added g | () draft - o 24:a8dd354780ea added f + o 24:93c25976d54c added f | () draft - o 20:63d80a6d5203 added d + o 20:f0c57a8fdffc added d | () draft - o 19:f4023955bf12 added c + o 19:ebc872a542e5 added c | () draft - o 13:58b400d15a91 added b + o 13:aaa724b65a25 added b | () draft o 12:53b632d203d8 added a | () draft @@ -442,7 +442,7 @@ (no more unresolved files) continue: hg evolve --continue $ hg evolve --continue - evolving 25:3efe414bea19 "added g" + evolving 25:e37fd94c4cdd "added g" Testing that interrupted evolve don't get confused about copies (issue5930): ---------------------------------------------------------------------------- diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-inmemory.t --- a/tests/test-evolve-inmemory.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-inmemory.t Fri Oct 07 18:14:58 2022 -0400 @@ -103,9 +103,9 @@ move:[5] E atop:[7] D $ hg glog - o 8:166afca01be8 draft tip + o 8:918ab8de4edf draft tip | E - o 7:4f84a36487e4 draft + o 7:c9677354e977 draft | D o 6:a2a0434af50b draft | C diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-interrupted.t --- a/tests/test-evolve-interrupted.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-interrupted.t Fri Oct 07 18:14:58 2022 -0400 @@ -135,7 +135,7 @@ [40] $ hg evolve --continue evolving 1:e0486f65907d "banana" - working directory is now at bd5ec7dfc2af + working directory is now at b10ea0f329d2 $ cat .hg/evolvestate cat: .hg/evolvestate: No such file or directory [1] diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-orphan-merge.t --- a/tests/test-evolve-orphan-merge.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-orphan-merge.t Fri Oct 07 18:14:58 2022 -0400 @@ -217,10 +217,10 @@ continue: hg evolve --continue $ hg evolve --continue evolving 10:fd41d25a3e90 "foobar to c" - working directory is now at c5405d2da7a1 + working directory is now at 6b3ccba26ce3 $ hg glog - @ 12:c5405d2da7a1 foobar to c + @ 12:6b3ccba26ce3 foobar to c |\ () draft | o 11:31c317b7bdb1 foo to c | | () draft @@ -230,7 +230,7 @@ () draft $ hg parents - changeset: 12:c5405d2da7a1 + changeset: 12:6b3ccba26ce3 tag: tip parent: 9:d0f84b25d4e3 parent: 11:31c317b7bdb1 @@ -249,7 +249,7 @@ $ hg glog @ 13:928097d0b5b5 foo to c | () draft - | * 12:c5405d2da7a1 foobar to c + | * 12:6b3ccba26ce3 foobar to c | |\ () draft orphan +---x 11:31c317b7bdb1 foo to c | | () draft @@ -273,11 +273,11 @@ continue: hg evolve --continue $ hg evolve --continue - evolving 12:c5405d2da7a1 "foobar to c" - working directory is now at dc1948a6eeab + evolving 12:6b3ccba26ce3 "foobar to c" + working directory is now at 6feadc8fabd5 $ hg glog - @ 14:dc1948a6eeab foobar to c + @ 14:6feadc8fabd5 foobar to c |\ () draft | o 13:928097d0b5b5 foo to c | | () draft @@ -289,7 +289,7 @@ 3) When stabilizing other changesets resulted in orphan merge changeset ----------------------------------------------------------------------- - $ hg prune -r d0f84b25d4e3 -r 928097d0b5b5 -r dc1948a6eeab + $ hg prune -r d0f84b25d4e3 -r 928097d0b5b5 -r 6feadc8fabd5 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory is now at 8fa14d15e168 3 changesets pruned diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-phase-divergence.t --- a/tests/test-evolve-phase-divergence.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-phase-divergence.t Fri Oct 07 18:14:58 2022 -0400 @@ -878,11 +878,11 @@ $ hg evolve --continue evolving 19:5fd38c0de46e "added l to l" - committed as e3090241a10c - working directory is now at e3090241a10c + committed as c2aa021d3c99 + working directory is now at c2aa021d3c99 $ hg glog - @ 21:e3090241a10c phase-divergent update to f3794e5a91dc: + @ 21:c2aa021d3c99 phase-divergent update to f3794e5a91dc: | () draft o 17:f3794e5a91dc added l to l | () public @@ -910,19 +910,19 @@ # User test # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 - # Node ID e3090241a10c320b6132e4673915fd6b19c0de39 + # Node ID c2aa021d3c99453c0b1b646fb7e9325b151780df # Parent f3794e5a91dc1d4d36fee5c423386b19433a1f48 phase-divergent update to f3794e5a91dc: added l to l - diff -r f3794e5a91dc -r e3090241a10c l + diff -r f3794e5a91dc -r c2aa021d3c99 l --- a/l Thu Jan 01 00:00:00 1970 +0000 +++ b/l Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,1 @@ -l +kl - diff -r f3794e5a91dc -r e3090241a10c x + diff -r f3794e5a91dc -r c2aa021d3c99 x --- a/x Thu Jan 01 00:00:00 1970 +0000 +++ b/x Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,1 @@ @@ -933,7 +933,7 @@ ------------------------------------------------------------------------ $ hg glog -r . - @ 21:e3090241a10c phase-divergent update to f3794e5a91dc: + @ 21:c2aa021d3c99 phase-divergent update to f3794e5a91dc: | () draft ~ $ echo f > f @@ -947,42 +947,42 @@ $ hg evolve --list - $ hg phase -r 428f7900a969 --public --hidden + $ hg phase -r 3bb2b4083933 --public --hidden 1 new phase-divergent changesets $ hg glog -r f3794e5a91dc:: - @ 24:390acb97e50a added f + @ 24:39a4f9562a25 added f | () draft - | o 23:428f7900a969 added g + | o 23:3bb2b4083933 added g | | () public - | o 22:21ae52e414e6 added f + | o 22:12f787829d43 added f |/ () public - o 21:e3090241a10c phase-divergent update to f3794e5a91dc: + o 21:c2aa021d3c99 phase-divergent update to f3794e5a91dc: | () public o 17:f3794e5a91dc added l to l | () public ~ $ hg evolve --list - 390acb97e50a: added f - phase-divergent: 21ae52e414e6 (immutable precursor) - phase-divergent: 428f7900a969 (immutable precursor) + 39a4f9562a25: added f + phase-divergent: 12f787829d43 (immutable precursor) + phase-divergent: 3bb2b4083933 (immutable precursor) Resolving phase divergence using `hg evolve` $ hg evolve --phase-divergent --all recreate:[24] added f atop:[23] added g - rebasing to destination parent: 21ae52e414e6 + rebasing to destination parent: 12f787829d43 no changes to commit - working directory is now at e3090241a10c + working directory is now at c2aa021d3c99 $ hg glog -r f3794e5a91dc:: - o 23:428f7900a969 added g + o 23:3bb2b4083933 added g | () public - o 22:21ae52e414e6 added f + o 22:12f787829d43 added f | () public - @ 21:e3090241a10c phase-divergent update to f3794e5a91dc: + @ 21:c2aa021d3c99 phase-divergent update to f3794e5a91dc: | () public o 17:f3794e5a91dc added l to l | () public diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-phase.t --- a/tests/test-evolve-phase.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-phase.t Fri Oct 07 18:14:58 2022 -0400 @@ -128,7 +128,7 @@ evolving 2:13833940840c "c" $ hg glog - o 4 - 3d2080c198e5 c (secret) + o 4 - 82e9fa5a553a c (secret) | @ 3 - 87495ea7c9ec b (draft) | diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-progress.t --- a/tests/test-evolve-progress.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-progress.t Fri Oct 07 18:14:58 2022 -0400 @@ -149,11 +149,11 @@ obscache is out of date move:[6] third atop:[11] second - hg rebase -r 53c0008d98a0 -d 60a86497fbfe + hg rebase -r 53c0008d98a0 -d c8caf623f57b evolve: 2/3 changesets (66.67%) resolving manifests branchmerge: True, force: True, partial: False - ancestor: 5f16d91ecde0, local: 60a86497fbfe+, remote: 53c0008d98a0 + ancestor: 5f16d91ecde0, local: c8caf623f57b+, remote: 53c0008d98a0 b: remote created -> g getting b updating: b 1/1 files (100.00%) @@ -162,11 +162,11 @@ committing manifest committing changelog move:[7] fourth - hg rebase -r 385376d04062 -d b2de95304e32 + hg rebase -r 385376d04062 -d 55f7ff45dec4 evolve: 3/3 changesets (100.00%) resolving manifests branchmerge: True, force: True, partial: False - ancestor: 53c0008d98a0, local: b2de95304e32+, remote: 385376d04062 + ancestor: 53c0008d98a0, local: 55f7ff45dec4+, remote: 385376d04062 b: remote is newer -> g getting b updating: b 1/1 files (100.00%) @@ -180,7 +180,7 @@ invalid branch cache (served.hidden): tip differs resolving manifests branchmerge: False, force: False, partial: False - ancestor: c6e6fdb1d046, local: c6e6fdb1d046+, remote: f8d7d38c0a88 + ancestor: 1edc3bac9e3c, local: 1edc3bac9e3c+, remote: f8d7d38c0a88 b: other deleted -> r removing b updating: b 1/2 files (50.00%) diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-public-content-divergent-corner-cases.t --- a/tests/test-evolve-public-content-divergent-corner-cases.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-public-content-divergent-corner-cases.t Fri Oct 07 18:14:58 2022 -0400 @@ -432,7 +432,7 @@ $ hg sum parent: 5:93cd84bbdaca added d - parent: 6:2af3359250d3 tip (content-divergent) + parent: 6:cf77846279b4 tip (content-divergent) added c e branch: default commit: 1 modified, 1 unknown, 1 unresolved (merge) @@ -447,27 +447,27 @@ continue: hg evolve --continue $ hg evolve --continue - committed as bb4d94ae1a5a - working directory is now at bb4d94ae1a5a + committed as 01169b149789 + working directory is now at 01169b149789 $ hg export # HG changeset patch # User test # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 - # Node ID bb4d94ae1a5ac031ba524ef30850f32b9b50a560 + # Node ID 01169b149789f09d81f86d5273e56671ab645590 # Parent 93cd84bbdacaeb8f881c29a609dbdd30c38cbc57 phase-divergent update to 93cd84bbdaca: added c e - diff -r 93cd84bbdaca -r bb4d94ae1a5a d + diff -r 93cd84bbdaca -r 01169b149789 d --- a/d Thu Jan 01 00:00:00 1970 +0000 +++ b/d Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +1,1 @@ -dd +resolved - diff -r 93cd84bbdaca -r bb4d94ae1a5a e + diff -r 93cd84bbdaca -r 01169b149789 e --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/e Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,1 @@ diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-public-content-divergent-discard.t --- a/tests/test-evolve-public-content-divergent-discard.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-public-content-divergent-discard.t Fri Oct 07 18:14:58 2022 -0400 @@ -397,7 +397,7 @@ $ hg evolve --continue evolving 4:f89a8e2f86ac "added dh" 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - other divergent changeset bc309da55b88 has same content as local e800202333a4 and differs by "description" only, discarding bc309da55b88 + other divergent changeset 50a1c208f59e has same content as local e800202333a4 and differs by "description" only, discarding 50a1c208f59e $ hg evolve -l @@ -617,7 +617,7 @@ continue: hg evolve --continue $ hg evolve --continue - other divergent changeset 09054d1f3c97 has same content as local e800202333a4 and differs by "description" only, discarding 09054d1f3c97 + other divergent changeset 573a0455bb00 has same content as local e800202333a4 and differs by "description" only, discarding 573a0455bb00 $ hg evolve -l diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-public-content-divergent-main.t --- a/tests/test-evolve-public-content-divergent-main.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-public-content-divergent-main.t Fri Oct 07 18:14:58 2022 -0400 @@ -392,20 +392,20 @@ $ hg evolve --continue evolving 4:f31bcc378766 "added d c e" 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - committed as 4bce4ff71bf9 - working directory is now at 4bce4ff71bf9 + committed as e247c56b4c01 + working directory is now at e247c56b4c01 $ hg export # HG changeset patch # User test # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 - # Node ID 4bce4ff71bf901840aebb0aa87716e878938b55e + # Node ID e247c56b4c0103b53448551b3e5ff9a8173be791 # Parent 93cd84bbdacaeb8f881c29a609dbdd30c38cbc57 phase-divergent update to 93cd84bbdaca: added d c e - diff -r 93cd84bbdaca -r 4bce4ff71bf9 e + diff -r 93cd84bbdaca -r e247c56b4c01 e --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/e Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,1 @@ @@ -627,7 +627,7 @@ continue: hg evolve --continue $ hg evolve --continue - committed as ba823b8ff683 + committed as 704cf6f2d22f $ hg evolve -l $ cd .. diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-evolve-stop-orphan.t --- a/tests/test-evolve-stop-orphan.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-evolve-stop-orphan.t Fri Oct 07 18:14:58 2022 -0400 @@ -220,9 +220,9 @@ continue: hg evolve --continue $ hg evolve --continue evolving 4:c41c793e0ef1 "added d" - working directory is now at 2a4e03d422e2 + working directory is now at 250d8c3c5ad9 $ hg glog - @ 6:2a4e03d422e2 added d + @ 6:250d8c3c5ad9 added d | () draft o 5:cb6a2ab625bb added c | () draft @@ -243,7 +243,7 @@ $ hg glog @ 7:21817cd42526 added hgignore () draft - * 6:2a4e03d422e2 added d + * 6:250d8c3c5ad9 added d | () draft orphan * 5:cb6a2ab625bb added c | () draft orphan @@ -283,7 +283,7 @@ | () draft @ 7:21817cd42526 added hgignore () draft - * 6:2a4e03d422e2 added d + * 6:250d8c3c5ad9 added d | () draft orphan * 5:cb6a2ab625bb added c | () draft orphan @@ -316,9 +316,9 @@ move:[6] added d atop:[10] added c $ hg glog - o 11:cd0909a30222 added d + o 11:4b77e6973234 added d | () draft - o 10:cb1dd1086ef6 added c + o 10:b4e2f43191a0 added c | () draft o 9:aec285328e90 added b | () draft @@ -340,9 +340,9 @@ $ hg bookmark b2 $ hg glog - o 11:cd0909a30222 added d + o 11:4b77e6973234 added d | () draft - o 10:cb1dd1086ef6 added c + o 10:b4e2f43191a0 added c | (b1) draft @ 9:aec285328e90 added b | (b2) draft @@ -361,9 +361,9 @@ $ hg glog @ 12:a3cc2042492f added a | () draft - | * 11:cd0909a30222 added d + | * 11:4b77e6973234 added d | | () draft orphan - | * 10:cb1dd1086ef6 added c + | * 10:b4e2f43191a0 added c | | (b1) draft orphan | * 9:aec285328e90 added b | | (b2) draft orphan @@ -394,9 +394,9 @@ | (b2) draft @ 12:a3cc2042492f added a | () draft - | * 11:cd0909a30222 added d + | * 11:4b77e6973234 added d | | () draft orphan - | * 10:cb1dd1086ef6 added c + | * 10:b4e2f43191a0 added c | | (b1) draft orphan | x 9:aec285328e90 added b | | () draft diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-stabilize-conflict.t --- a/tests/test-stabilize-conflict.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-stabilize-conflict.t Fri Oct 07 18:14:58 2022 -0400 @@ -80,6 +80,11 @@ atop:[3] babar count up to ten merging babar working directory is now at 71c18f70c34f + + $ hg log -r . -T '{extras % "{key}={value}\n"}' + branch=default + rebase_source=694f05b30ab7d4324e469d19af2ee80003a8fb50 + $ hg resolve -l $ hg log -G @ changeset: 4:71c18f70c34f @@ -167,10 +172,15 @@ continue: hg evolve --continue $ hg evolve --continue evolving 4:71c18f70c34f "babar count up to fifteen" - working directory is now at 1836b91c6c1d + working directory is now at 368da14a3c59 + + $ hg log -r . -T '{extras % "{key}={value}\n"}' + branch=default + rebase_source=71c18f70c34f7a15e293983a89ccd17ae3f444aa + $ hg resolve -l $ hg log -G - @ changeset: 6:1836b91c6c1d + @ changeset: 6:368da14a3c59 | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 @@ -232,7 +242,7 @@ | date: Thu Jan 01 00:00:00 1970 +0000 | summary: babar count up to ten | - | % changeset: 6:1836b91c6c1d + | % changeset: 6:368da14a3c59 | | user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | instability: orphan diff -r 3bad2060db25 -r b1d1f4ade142 tests/test-unstability-resolution-result.t --- a/tests/test-unstability-resolution-result.t Sat Oct 29 17:26:46 2022 +0400 +++ b/tests/test-unstability-resolution-result.t Fri Oct 07 18:14:58 2022 -0400 @@ -108,7 +108,7 @@ continue: hg evolve --continue $ hg evolve --continue evolving 4:3655f0f50885 "newer a" - working directory is now at 1cf0aacfd363 + working directory is now at 99ec7503cf5a Stabilize phase-divergent changesets with a different parent ============================================================ @@ -116,7 +116,7 @@ (the same-parent case is handled in test-evolve.t) $ glog - @ 6:1cf0aacfd363@default(draft) bk:[] newer a + @ 6:99ec7503cf5a@default(draft) bk:[] newer a | o 5:66719795a494@default(draft) bk:[changea] changea | @@ -136,8 +136,8 @@ Get a successors of 8 on it - $ hg pick 1cf0aacfd363 - picking 6:1cf0aacfd363 "newer a" + $ hg pick 99ec7503cf5a + picking 6:99ec7503cf5a "newer a" Add real change to the successors @@ -146,14 +146,14 @@ Make precursors public - $ hg phase --hidden --public 1cf0aacfd363 + $ hg phase --hidden --public 99ec7503cf5a 1 new phase-divergent changesets $ glog - @ 9:99c21c89bcef@default(draft) bk:[] newer a + @ 9:998db519ac88@default(draft) bk:[] newer a | o 7:7bc2f5967f5e@default(draft) bk:[] add c | - | o 6:1cf0aacfd363@default(public) bk:[] newer a + | o 6:99ec7503cf5a@default(public) bk:[] newer a |/ o 5:66719795a494@default(public) bk:[changea] changea | @@ -165,10 +165,10 @@ $ hg evolve --any --dry-run --phase-divergent recreate:[9] newer a atop:[6] newer a - hg rebase --rev 99c21c89bcef --dest 66719795a494; - hg update 1cf0aacfd363; - hg revert --all --rev 99c21c89bcef; - hg commit --message "phase-divergent update to 99c21c89bcef" + hg rebase --rev 998db519ac88 --dest 66719795a494; + hg update 99ec7503cf5a; + hg revert --all --rev 998db519ac88; + hg commit --message "phase-divergent update to 998db519ac88" $ hg evolve --any --confirm --phase-divergent recreate:[9] newer a atop:[6] newer a @@ -180,14 +180,14 @@ atop:[6] newer a perform evolve? [Ny] y rebasing to destination parent: 66719795a494 - committed as 8fc63fe1f297 - working directory is now at 8fc63fe1f297 + committed as 9bd81588dac8 + working directory is now at 9bd81588dac8 $ glog - @ 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: + @ 11:9bd81588dac8@default(draft) bk:[] phase-divergent update to 99ec7503cf5a: | | o 7:7bc2f5967f5e@default(draft) bk:[] add c | | - o | 6:1cf0aacfd363@default(public) bk:[] newer a + o | 6:99ec7503cf5a@default(public) bk:[] newer a |/ o 5:66719795a494@default(public) bk:[changea] changea | @@ -198,13 +198,13 @@ # User test # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 - # Node ID 8fc63fe1f297f356d1156bbbbe865b9911efad74 - # Parent 1cf0aacfd36310b18e403e1594871187e0364a82 - phase-divergent update to 1cf0aacfd363: + # Node ID 9bd81588dac89b66b4fb6dadd8e33b1ecfe9b408 + # Parent 99ec7503cf5a2cd545f41792129becc4172e9e9d + phase-divergent update to 99ec7503cf5a: newer a - diff -r 1cf0aacfd363 -r 8fc63fe1f297 a + diff -r 99ec7503cf5a -r 9bd81588dac8 a --- a/a Thu Jan 01 00:00:00 1970 +0000 +++ b/a Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +1,4 @@