# HG changeset patch # User Jun Wu <quark@fb.com> # Date 1508363739 25200 # Wed Oct 18 14:55:39 2017 -0700 # Node ID 7bf7544fd6ccfa59c709dfc5b20d0f68e7bb59e0 # Parent dbb542326582dc1d08525c1305528a2f4e68eb5a chgserver: do not treat HG as sensitive environ when CHGHG is set When `$CHGHG` is set, `$HG` is ignored by the chg client. Removing it from chg's sensitive environment list would avoid starting up servers unnecessarily when `$CHGHG` is the same while `$HG` is different. Differential Revision: https://phab.mercurial-scm.org/D1177 diff --git a/mercurial/chgserver.py b/mercurial/chgserver.py --- a/mercurial/chgserver.py +++ b/mercurial/chgserver.py @@ -108,8 +108,13 @@ for section, item in _configsectionitems: sectionitems.append(ui.config(section, item)) sectionhash = _hashlist(sectionitems) + # If $CHGHG is set, the change to $HG should not trigger a new chg server + if 'CHGHG' in encoding.environ: + ignored = {'HG'} + else: + ignored = set() envitems = [(k, v) for k, v in encoding.environ.iteritems() - if _envre.match(k)] + if _envre.match(k) and k not in ignored] envhash = _hashlist(sorted(envitems)) return sectionhash[:6] + envhash[:6]