# HG changeset patch # User Sushil khanchi # Date 1554903449 -7200 # Node ID 7978230faa3212cc0fcf0ab70c36b6a2959824dc # Parent ee7e4e05ce44dd6aac497a98f4f89f4900a0224e evolve: make sure div resolution don't replace the initial author (issue6113) Before this patch, divergence resolution logic taking the current user who is running the resolution command as the author of commit that will be created after merging the two divergent csets. This patch make sure that we preserve the initial author. Changes in test file reflect the fixed behaviour. diff -r ee7e4e05ce44 -r 7978230faa32 CHANGELOG --- a/CHANGELOG Wed Apr 10 15:26:41 2019 +0200 +++ b/CHANGELOG Wed Apr 10 15:37:29 2019 +0200 @@ -10,6 +10,8 @@ * touch: fix error message when touching public changesets * evolve: make sure the extensions are only active on repository that enables it. Double check your server configuration (issue6057) + * evolve: make sure divergence resolution don't replace the initial author + (issue6113) 8.4.0 -- 2019-12-22 ------------------- diff -r ee7e4e05ce44 -r 7978230faa32 hgext3rd/evolve/evolvecmd.py --- a/hgext3rd/evolve/evolvecmd.py Wed Apr 10 15:26:41 2019 +0200 +++ b/hgext3rd/evolve/evolvecmd.py Wed Apr 10 15:37:29 2019 +0200 @@ -560,7 +560,7 @@ mergehook(repo, base, divergent, other) - newnode = repo.commit(text=desc, user=repo.ui.username()) + newnode = repo.commit(text=desc, user=other.user()) if newnode == divergent.node() or newnode is None: # no changes new = divergent diff -r ee7e4e05ce44 -r 7978230faa32 tests/test-evolve-content-divergence-meta.t --- a/tests/test-evolve-content-divergence-meta.t Wed Apr 10 15:26:41 2019 +0200 +++ b/tests/test-evolve-content-divergence-meta.t Wed Apr 10 15:37:29 2019 +0200 @@ -89,14 +89,14 @@ updating to "local" side of the conflict: 0c9267e23c9d merging "other" content-divergent changeset '6c06cda6dc99' 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - working directory is now at 7d41fb83d892 + working directory is now at 443bd2972210 Make sure resultant cset don't replace the initial user with user running the command: $ hg log -r tip - changeset: 5:7d41fb83d892 + changeset: 5:443bd2972210 tag: tip parent: 1:1740ad2a1eda - user: bar + user: foo date: Thu Jan 01 00:00:00 1970 +0000 summary: added c e diff -r ee7e4e05ce44 -r 7978230faa32 tests/test-sharing.t --- a/tests/test-sharing.t Wed Apr 10 15:26:41 2019 +0200 +++ b/tests/test-sharing.t Wed Apr 10 15:37:29 2019 +0200 @@ -517,12 +517,12 @@ base: [4] fix bug 24 (v1) merging "other" content-divergent changeset 'e3f99ce9d9cd' 0 files updated, 1 files merged, 0 files removed, 0 files unresolved - working directory is now at 711ede2d7a26 + working directory is now at b1499b0f03ca $ hg log -q -r 'contentdivergent()' Figure SG10: Bob's repository after fixing divergence. $ hg --hidden shortlog -G -r 3:: - @ 7:711ede2d7a26 draft fix bug 24 (v2 by bob) + @ 7:b1499b0f03ca draft fix bug 24 (v2 by bob) | | x 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice) |/ @@ -533,7 +533,7 @@ o 3:a06ec1bf97bd public fix bug 15 (v2) | ~ - $ hg --hidden shortlog -r 'precursors(711ede2d7a26)' + $ hg --hidden shortlog -r 'precursors(b1499b0f03ca)' 5:a360947f6faf draft fix bug 24 (v2 by bob) 6:e3f99ce9d9cd draft fix bug 24 (v2 by alice) $ cat file1