changeset 1619:5ef77a1d975c

hgext: turn 'hgext' into a namespace package Actually since Python 2.3, there is some way to turn top level package into "namespace package" so that multiple subpackage installed in different part of the path can still be imported transparently. This feature was previously thought (at least by myself) to be only provided by some setuptool black magic. Turning hgext into such namespace package allows third extensions to install themselves inside the "hgext" namespace package to avoid polluting the global python module namespace. They will now be able to do so without making it a pain to use a Mercurial "installed" in a different way/location than these extensions.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Fri, 11 Mar 2016 09:48:12 +0000
parents a3da15803b7a
children ce268aebd0f5
files hgext/__init__.py
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/__init__.py	Thu Feb 25 13:18:36 2016 +0100
+++ b/hgext/__init__.py	Fri Mar 11 09:48:12 2016 +0000
@@ -1,1 +1,4 @@
-# Copyright 2011 Logilab SA <contact@logilab.fr>
+from __future__ import absolute_import
+import pkgutil
+__path__ = pkgutil.extend_path(__path__, __name__)
+