Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hook.py @ 7787:b8d750daadde
Introduce HG_PREPEND to solve pretxn races
- add writepending to flush delayed writes to separate file
- add support in hooks for lazy evaluation of callable parameters
- add HG_PENDING to pretxn hooks
- call writepending if hook is used
- pass repo root to hook environment
- if HG_PENDING = repo root, we're in pretxn hook
- read pending data to make pending changesets visible
- filter HG_PENDING in tests/printenv.py
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 16 Feb 2009 19:35:07 -0600 |
parents | 182b7114d35a |
children | f779e1996e23 |
line wrap: on
line diff
--- 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: