--- a/hgext3rd/evolve/rewriteutil.py Sat Sep 07 13:03:29 2019 +0700
+++ b/hgext3rd/evolve/rewriteutil.py Tue Sep 10 15:43:20 2019 +0700
@@ -117,6 +117,13 @@
if len(baseparents) > 2:
raise error.Abort(_("cannot fold revisions that merge with more than "
"one external changeset (not in revisions)"))
+ if not repo.ui.configbool('experimental', 'evolution.allowdivergence'):
+ obsolete = repo.revs('%ld and obsolete()', revs)
+ if obsolete:
+ msg = _('folding obsolete revisions may cause divergence')
+ hint = _('set experimental.evolution.allowdivergence=yes'
+ ' to allow folding them')
+ raise error.Abort(msg, hint=hint)
# root's p1 is already used as the target ctx p1
baseparents -= {root.p1().rev()}
p2 = repo[baseparents.first()]