( )⚙ D10019 configitems: register an experimental evolve config

This is an archive of the discontinued Mercurial Phabricator instance.

configitems: register an experimental evolve config
AbandonedPublic

Authored by khanchi97 on Feb 18 2021, 1:43 PM.

Details

Reviewers
None
Group Reviewers
hg-reviewers
Summary

Config:

experimental.evolution.divergence-resolution-minimal=False (default)

This experimental config gives user the flexibility to choose (in a special
case of divergence) how they would like to resolve.

Special case: when divergence is created by one side amended some changes
and other relocated to an obsolete cset which has a successor as well.

By default, evolution will set the successor of obsolete parent as resolution
parent and will relocate both the divergent cset on it to perform 3-way merge.
But if this config is set to True, it will set the obsolete parent as
resolution parent, so now resolved cset will be orphan as it will be based on
the obsolete parent. Some users might not like the evolve to automatically
resolve this orphan instability as well (while they only wanted to resolve the
divergence), which is why we are providing this config.

Diff Detail

Repository
rHG Mercurial
Branch
default
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

khanchi97 created this revision.Feb 18 2021, 1:43 PM
pulkit added a subscriber: pulkit.Feb 18 2021, 2:52 PM

IIUC, this affects the behavior of evolve command right? If yes, then it should go to evolve extension.

Ah, you are right. I forgot that we can register new configitems in evolve extension itself. Thanks.

khanchi97 abandoned this revision.Feb 18 2021, 2:58 PM