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: