changeset 35710:5cd60b0587a8

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
author Martin von Zweigbergk <martinvonz@google.com>
date Sun, 14 Jan 2018 00:02:40 -0800
parents 1a09dad8b85a
children 35a0f6f31eef
files mercurial/configitems.py mercurial/scmutil.py tests/test-obsolete.t
diffstat 3 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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
 ============================