evolution: make reporting of new unstable changesets optional
authorMartin von Zweigbergk <martinvonz@google.com>
Sun, 14 Jan 2018 00:02:40 -0800
changeset 35710 5cd60b0587a8
parent 35709 1a09dad8b85a
child 35711 35a0f6f31eef
evolution: make reporting of new unstable changesets optional This makes it possible to turn off the reporting of unstable changesets (e.g. "1 new orphan changesets"), just in case it's too slow for some users. Anyone who's been using the evolve extension has already been accepting the cost of the reporting, so this is just for the few users who have turned on obsmarkers but not been using the evolve extension (as I believe Facebook has). Differential Revision: https://phab.mercurial-scm.org/D1868
mercurial/configitems.py
mercurial/scmutil.py
tests/test-obsolete.t
--- a/mercurial/configitems.py	Sun Jan 14 23:59:17 2018 -0800
+++ b/mercurial/configitems.py	Sun Jan 14 00:02:40 2018 -0800
@@ -487,6 +487,9 @@
 coreconfigitem('experimental', 'evolution.bundle-obsmarker',
     default=False,
 )
+coreconfigitem('experimental', 'evolution.report-instabilities',
+    default=True,
+)
 coreconfigitem('experimental', 'evolution.track-operation',
     default=True,
 )
--- a/mercurial/scmutil.py	Sun Jan 14 23:59:17 2018 -0800
+++ b/mercurial/scmutil.py	Sun Jan 14 00:02:40 2018 -0800
@@ -1260,7 +1260,8 @@
                 repo.ui.status(_('obsoleted %i changesets\n')
                                % len(obsoleted))
 
-    if obsolete.isenabled(repo, obsolete.createmarkersopt):
+    if (obsolete.isenabled(repo, obsolete.createmarkersopt) and
+        repo.ui.configbool('experimental', 'evolution.report-instabilities')):
         instabilitytypes = [
             ('orphan', 'orphan'),
             ('phase-divergent', 'phasedivergent'),
--- a/tests/test-obsolete.t	Sun Jan 14 23:59:17 2018 -0800
+++ b/tests/test-obsolete.t	Sun Jan 14 00:02:40 2018 -0800
@@ -340,6 +340,17 @@
 
   $ cd ..
 
+Can disable transaction summary report
+
+  $ hg init transaction-summary
+  $ cd transaction-summary
+  $ mkcommit a
+  $ mkcommit b
+  $ hg up -q null
+  $ hg --config experimental.evolution.report-instabilities=false debugobsolete `getid a`
+  obsoleted 1 changesets
+  $ cd ..
+
 Exchange Test
 ============================