This is needed to make Mercurial read the HGEXTENSIONPATH to detect third-party extensions. It is called HGEXTENSIONPATH and not HG_EXTENSION_PATH to keep it consistent with other environment variables for Mercurial, e.g. HGENCODINGAMBIGUOUS, HGEDITOR ... Hopefully I or someone else will get this into Mercurial proper. diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -13,6 +13,7 @@ import imp import inspect import os +import sys from .i18n import ( _, @@ -108,6 +109,8 @@ def _importh(name): """import and return the module""" + # Read HGEXTENSIONPATH environment variable when import extensions. + sys.path.append(os.getenv("HGEXTENSIONPATH")) mod = __import__(pycompat.sysstr(name)) components = name.split(b'.') for comp in components[1:]: