equal
deleted
inserted
replaced
19 pycompat, |
19 pycompat, |
20 util, |
20 util, |
21 ) |
21 ) |
22 from .utils import ( |
22 from .utils import ( |
23 procutil, |
23 procutil, |
|
24 stringutil, |
24 ) |
25 ) |
25 |
26 |
26 def _pythonhook(ui, repo, htype, hname, funcname, args, throw): |
27 def _pythonhook(ui, repo, htype, hname, funcname, args, throw): |
27 '''call python hook. hook is callable object, looked up as |
28 '''call python hook. hook is callable object, looked up as |
28 name in python module. if callable returns "true", hook |
29 name in python module. if callable returns "true", hook |
135 |
136 |
136 for k, v in args.iteritems(): |
137 for k, v in args.iteritems(): |
137 if callable(v): |
138 if callable(v): |
138 v = v() |
139 v = v() |
139 if isinstance(v, dict): |
140 if isinstance(v, dict): |
140 # make the dictionary element order stable across Python |
141 v = stringutil.pprint(v, bprefix=False) |
141 # implementations |
|
142 v = ('{' + |
|
143 ', '.join('%r: %r' % i for i in sorted(v.iteritems())) + |
|
144 '}') |
|
145 env['HG_' + k.upper()] = v |
142 env['HG_' + k.upper()] = v |
146 |
143 |
147 if repo: |
144 if repo: |
148 cwd = repo.root |
145 cwd = repo.root |
149 else: |
146 else: |