Skip to content
Snippets Groups Projects
Commit 3cfc9070 authored by Jun Wu's avatar Jun Wu
Browse files

demandimport: disable if chg is being used

In chg's case, making modules lazily loaded could actually slow down things
since chg pre-imports them. Therefore disable demandimport if chg is being
used.

This is not done by setting `HGDEMANDIMPORT` chg client-side because that
has side-effects on child processes (hooks, etc).

Differential Revision: https://phab.mercurial-scm.org/D351
parent 8fb52126
No related branches found
No related tags found
No related merge requests found
......@@ -73,5 +73,7 @@
deactivated = demandimport.deactivated
def enable():
if os.environ.get('HGDEMANDIMPORT') != 'disable':
# chg pre-imports modules so do not enable demandimport for it
if ('CHGINTERNALMARK' not in os.environ
and os.environ.get('HGDEMANDIMPORT') != 'disable'):
demandimport.enable()
......@@ -565,8 +565,11 @@
self._hashstate, self._baseaddress)
def chgunixservice(ui, repo, opts):
# CHGINTERNALMARK is temporarily set by chg client to detect if chg will
# start another chg. drop it to avoid possible side effects.
# CHGINTERNALMARK is set by chg client. It is an indication of things are
# started by chg so other code can do things accordingly, like disabling
# demandimport or detecting chg client started by chg client. When executed
# here, CHGINTERNALMARK is no longer useful and hence dropped to make
# environ cleaner.
if 'CHGINTERNALMARK' in encoding.environ:
del encoding.environ['CHGINTERNALMARK']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment