[PATCH v2] rebase: turn rebaseskipobsolete on by default

Kostia Balytskyi ikostia at fb.com
Wed Mar 9 06:28:07 EST 2016


# HG changeset patch
# User Kostia Balytskyi <ikostia at fb.com>
# Date 1457522696 28800
#      Wed Mar 09 03:24:56 2016 -0800
# Node ID c7732369ce04104bd1089c02b1694cd0d3fe9230
# Parent  f126bb86a4e282fc1113a9c67777e9ca3764e57b
rebase: turn rebaseskipobsolete on by default

As per plan desribed in
https://www.mercurial-scm.org/wiki/ChangesetEvolutionDevel#Using_Obsolescence_Marker_during_Rebase
we want to turn rebaseskipobsolete on by default. Please note
that issue4210 is not a blocker since we have a warning that
will tell user about the potential divergence now.

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -297,7 +297,8 @@ def rebase(ui, repo, **opts):
                     hint=_('use --keep to keep original changesets'))
 
             obsoletenotrebased = {}
-            if ui.configbool('experimental', 'rebaseskipobsolete'):
+            if ui.configbool('experimental',
+                             'rebaseskipobsolete', default=True):
                 rebasesetrevs = set(rebaseset)
                 rebaseobsrevs = _filterobsoleterevs(repo, rebasesetrevs)
                 obsoletenotrebased = _computeobsoletenotrebased(repo,
diff --git a/tests/test-rebase-obsolete.t b/tests/test-rebase-obsolete.t
--- a/tests/test-rebase-obsolete.t
+++ b/tests/test-rebase-obsolete.t
@@ -527,7 +527,7 @@ Test hidden changesets in the rebase set
   $ hg commit -m J
   $ hg debugobsolete `hg log --rev . -T '{node}'`
 
-  $ hg rebase --rev .~1::. --dest 'max(desc(D))' --traceback
+  $ hg rebase --rev .~1::. --dest 'max(desc(D))' --traceback --config experimental.rebaseskipobsolete=off
   rebasing 9:4bde274eefcf "I"
   rebasing 13:06edfc82198f "J" (tip)
   $ hg log -G


More information about the Mercurial-devel mailing list