diff --git a/hgext/fsmonitor/__init__.py b/hgext/fsmonitor/__init__.py --- a/hgext/fsmonitor/__init__.py +++ b/hgext/fsmonitor/__init__.py @@ -161,6 +161,9 @@ configitem('fsmonitor', 'blacklistusers', default=list, ) +configitem('fsmonitor', 'enable_on_non_interactive', + default=True, +) configitem('fsmonitor', 'verbose', default=True, ) @@ -760,6 +763,24 @@ 'extension and has been disabled.\n') % ext) return + enabled = None + if 'HGWATCHMAN_ENABLE' in encoding.environ: + enabled = encoding.environ['HGWATCHMAN_ENABLE'].lower() + + if enabled == 'true' or enabled == '': + pass + elif enabled == 'false': + ui.debug('fsmonitor: disabled through HGWATCHMAN_ENABLE env variable') + return + else: + interactive = ui.interactive() + enable_on_non_interactive = ui.configbool( + 'fsmonitor', 'enable_on_non_interactive' + ) + if not interactive and not enable_on_non_interactive: + ui.debug('fsmonitor: disabled for non-interactive commands') + return + if repo.local(): # We don't work with subrepos either. #