@@ -1411,6 +1411,16 @@
If set to ``abort``, the command is aborted.
On Windows, this configuration option is ignored and the command aborted.
+``progressive``
+ Enable user-friendly features. True or False. Default is False;
+ If set to True, specific functionality that improves user experience
+ will be enabled, even if there is no complete backwards compatibility.
+ Progressive mode is an intentional moving target, containing a recommended
+ configuration.
+ Changes in this configuration over time can have impact on what the output
+ of different commands looks like.
+ Scripts should use the environment variable ``HGPLAIN`` to avoid impact.
+
``quiet``
Reduce the amount of output printed. True or False. Default is False.
@@ -79,6 +79,7 @@
# _bufferstates: Should the temporary capture includes stderr
self._bufferstates = []
self.quiet = self.verbose = self.debugflag = self.tracebackflag = False
+ self._progressive = False
self._reportuntrusted = True
self._ocfg = config.config() # overlay
self._tcfg = config.config() # trusted
@@ -111,6 +112,8 @@
for f in scmutil.rcpath():
self.readconfig(f, trust=True)
+ self._fixprogressive()
+
def copy(self):
return self.__class__(self)
@@ -158,8 +161,8 @@
if self.plain():
for k in ('debug', 'fallbackencoding', 'quiet', 'slash',
- 'logtemplate', 'statuscopies', 'style',
- 'traceback', 'verbose'):
+ 'logtemplate', 'progressive', 'statuscopies',
+ 'style', 'traceback', 'verbose'):
if k in cfg['ui']:
del cfg['ui'][k]
for k, v in cfg.items('defaults'):
@@ -207,6 +210,7 @@
self._reportuntrusted = self.debugflag or self.configbool("ui",
"report_untrusted", True)
self.tracebackflag = self.configbool('ui', 'traceback', False)
+ self._progressive = self.configbool('ui', 'progressive', False)
if section in (None, 'trusted'):
# update trust information
@@ -467,6 +471,13 @@
for name, value in self.configitems(section, untrusted):
yield section, name, value
+ def progressive(self):
+ return self._progressive
+
+ def _fixprogressive(self):
+ if not self.progressive():
+ return
+
def plain(self, feature=None):
'''is plain mode active?