Mercurial > evolve
changeset 2782:2bd0b0996cfb
evolve: document the various instability/troubles
We need something to point people at.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 23 Jul 2017 19:52:06 +0200 |
parents | 78b0c6053139 |
children | 3e9c3119410a |
files | hgext3rd/evolve/__init__.py tests/test-evolve.t |
diffstat | 2 files changed, 67 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/__init__.py Sun Jul 23 19:37:29 2017 +0200 +++ b/hgext3rd/evolve/__init__.py Sun Jul 23 19:52:06 2017 +0200 @@ -214,7 +214,41 @@ Obsolescence markers will be exchanged between repositories that explicitly assert support for the obsolescence feature (this can currently only be done -via an extension).""".strip() +via an extension). + +Instability +========== + +(note: the vocabulary is in the process of being updated) + +Rewriting changesets might introduce instability (currently 'trouble'). + +There are two main kinds of instability: orphaning and diverging. + +Orphans are changesets left behind when their ancestors are rewritten, (currently: 'unstable'). +Divergence has two variants: + +* Content-divergence occurs when independent rewrites of the same changesets + lead to different results. (currently: 'divergent') + +* Phase-divergence occurs when the old (obsolete) version of a changeset + becomes public. (currently: 'bumped') + +If it possible to prevent local creation of orphans by using the following config:: + + [experimental] + evolution=createmarkers,allnewcommands,exchange + +You can also enable that option explicitly:: + + [experimental] + evolution=createmarkers,allnewcommands,allowunstable,exchange + +or simply:: + + [experimental] + evolution=all +""".strip() import os
--- a/tests/test-evolve.t Sun Jul 23 19:37:29 2017 +0200 +++ b/tests/test-evolve.t Sun Jul 23 19:52:06 2017 +0200 @@ -80,6 +80,38 @@ Obsolescence markers will be exchanged between repositories that explicitly assert support for the obsolescence feature (this can currently only be done via an extension). + + Instability ========== + + (note: the vocabulary is in the process of being updated) + + Rewriting changesets might introduce instability (currently 'trouble'). + + There are two main kinds of instability: orphaning and diverging. + + Orphans are changesets left behind when their ancestors are rewritten, + (currently: 'unstable'). Divergence has two variants: + + * Content-divergence occurs when independent rewrites of the same + changesets lead to different results. (currently: 'divergent') + * Phase-divergence occurs when the old (obsolete) version of a changeset + becomes public. (currently: 'bumped') + + If it possible to prevent local creation of orphans by using the following + config: + + [experimental] + evolution=createmarkers,allnewcommands,exchange + + You can also enable that option explicitly: + + [experimental] + evolution=createmarkers,allnewcommands,allowunstable,exchange + + or simply: + + [experimental] + evolution=all various init