diff -r 8044be585b91 -r 622d8ed78b47 mercurial/extensions.py --- a/mercurial/extensions.py Tue Jun 12 13:21:42 2007 -0700 +++ b/mercurial/extensions.py Wed Jun 13 13:46:40 2007 -0700 @@ -5,7 +5,8 @@ # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. -import imp, commands, hg, util, sys +import imp, os +import commands, hg, util, sys from i18n import _ _extensions = {} @@ -28,7 +29,12 @@ # choose an unique name so that it doesn't # conflicts with other modules module_name = "hgext_%s" % name.replace('.', '_') - mod = imp.load_source(module_name, path) + if os.path.isdir(path): + # module/__init__.py style + fd, fpath, desc = imp.find_module('', [path]) + mod = imp.load_module(module_name, fd, fpath, desc) + else: + mod = imp.load_source(module_name, path) else: def importh(name): mod = __import__(name)