Mercurial > hg-stable
changeset 10103:37679dbf2ee3 stable
hook: fix bug (reuse of variable) introduced in 872d49dd577a
For binary installs, the 'name' argument would be reused as a local variable,
destroying its original value. The patch fixes that, and also avoids copying
sys.path when it's not necessary.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Mon, 21 Dec 2009 16:12:43 +0100 |
parents | f5e46dfb38c7 |
children | e533fc8a058b 703db37d186b b3a850c45620 |
files | mercurial/hook.py |
diffstat | 1 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hook.py Sat Dec 19 22:55:33 2009 -0800 +++ b/mercurial/hook.py Mon Dec 21 16:12:43 2009 +0100 @@ -27,13 +27,13 @@ raise util.Abort(_('%s hook is invalid ("%s" not in ' 'a module)') % (hname, funcname)) modname = funcname[:d] - oldpaths = sys.path[:] + oldpaths = sys.path if hasattr(sys, "frozen"): # binary installs require sys.path manipulation - path, name = os.path.split(modname) - if path and name: - sys.path.append(path) - modname = name + modpath, modfile = os.path.split(modname) + if modpath and modfile: + sys.path = sys.path[:] + [modpath] + modname = modfile try: obj = __import__(modname) except ImportError: