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
--- 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
============================