diff -r 92455c1d6f83 -r b8d750daadde mercurial/hook.py --- a/mercurial/hook.py Sun Jan 18 19:59:51 2009 +0100 +++ b/mercurial/hook.py Mon Feb 16 19:35:07 2009 -0600 @@ -70,7 +70,13 @@ def _exthook(ui, repo, name, cmd, args, throw): ui.note(_("running hook %s: %s\n") % (name, cmd)) - env = dict([('HG_' + k.upper(), v) for k, v in args.iteritems()]) + + env = {} + for k, v in args.iteritems(): + if callable(v): + v = v() + env['HG_' + k.upper()] = v + if repo: cwd = repo.root else: