Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hook.py @ 23426:19ebd2f88fc7
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 01 Dec 2014 19:34:11 -0600 |
parents | 41c03b7592ed cdbb85489c41 |
children | 2abbf4750915 |
comparison
equal
deleted
inserted
replaced
23411:2d86f4e38c08 | 23426:19ebd2f88fc7 |
---|---|
5 # This software may be used and distributed according to the terms of the | 5 # This software may be used and distributed according to the terms of the |
6 # GNU General Public License version 2 or any later version. | 6 # GNU General Public License version 2 or any later version. |
7 | 7 |
8 from i18n import _ | 8 from i18n import _ |
9 import os, sys, time | 9 import os, sys, time |
10 import extensions, util, demandimport | 10 import extensions, util, demandimport, error |
11 | 11 |
12 def _pythonhook(ui, repo, name, hname, funcname, args, throw): | 12 def _pythonhook(ui, repo, name, hname, funcname, args, throw): |
13 '''call python hook. hook is callable object, looked up as | 13 '''call python hook. hook is callable object, looked up as |
14 name in python module. if callable returns "true", hook | 14 name in python module. if callable returns "true", hook |
15 fails, else passes. if hook raises exception, treated as | 15 fails, else passes. if hook raises exception, treated as |
105 duration = time.time() - starttime | 105 duration = time.time() - starttime |
106 ui.log('pythonhook', 'pythonhook-%s: %s finished in %0.2f seconds\n', | 106 ui.log('pythonhook', 'pythonhook-%s: %s finished in %0.2f seconds\n', |
107 name, funcname, duration) | 107 name, funcname, duration) |
108 if r: | 108 if r: |
109 if throw: | 109 if throw: |
110 raise util.Abort(_('%s hook failed') % hname) | 110 raise error.HookAbort(_('%s hook failed') % hname) |
111 ui.warn(_('warning: %s hook failed\n') % hname) | 111 ui.warn(_('warning: %s hook failed\n') % hname) |
112 return r | 112 return r |
113 | 113 |
114 def _exthook(ui, repo, name, cmd, args, throw): | 114 def _exthook(ui, repo, name, cmd, args, throw): |
115 ui.note(_("running hook %s: %s\n") % (name, cmd)) | 115 ui.note(_("running hook %s: %s\n") % (name, cmd)) |
137 ui.log('exthook', 'exthook-%s: %s finished in %0.2f seconds\n', | 137 ui.log('exthook', 'exthook-%s: %s finished in %0.2f seconds\n', |
138 name, cmd, duration) | 138 name, cmd, duration) |
139 if r: | 139 if r: |
140 desc, r = util.explainexit(r) | 140 desc, r = util.explainexit(r) |
141 if throw: | 141 if throw: |
142 raise util.Abort(_('%s hook %s') % (name, desc)) | 142 raise error.HookAbort(_('%s hook %s') % (name, desc)) |
143 ui.warn(_('warning: %s hook %s\n') % (name, desc)) | 143 ui.warn(_('warning: %s hook %s\n') % (name, desc)) |
144 return r | 144 return r |
145 | 145 |
146 def _allhooks(ui): | 146 def _allhooks(ui): |
147 hooks = [] | 147 hooks = [] |