changeset 34887:7bf7544fd6cc

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
author Jun Wu <quark@fb.com>
date Wed, 18 Oct 2017 14:55:39 -0700
parents dbb542326582
children 317566f0c2e6
files mercurial/chgserver.py
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/chgserver.py	Wed Oct 18 22:54:50 2017 +0200
+++ b/mercurial/chgserver.py	Wed Oct 18 14:55:39 2017 -0700
@@ -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]