mercurial/hook.py
changeset 31744 5678496659e9
parent 31743 f610c3220eec
child 31745 33504b54863e
equal deleted inserted replaced
31743:f610c3220eec 31744:5678496659e9
   199     r = False
   199     r = False
   200     for hname, cmd in hooks:
   200     for hname, cmd in hooks:
   201         r = res[hname][0] or r
   201         r = res[hname][0] or r
   202     return r
   202     return r
   203 
   203 
   204 def runhooks(ui, repo, name, hooks, throw=False, **args):
   204 def runhooks(ui, repo, htype, hooks, throw=False, **args):
   205     res = {}
   205     res = {}
   206     oldstdout = -1
   206     oldstdout = -1
   207 
   207 
   208     try:
   208     try:
   209         for hname, cmd in hooks:
   209         for hname, cmd in hooks:
   227                         hint = _("see 'hg help config.trusted'"))
   227                         hint = _("see 'hg help config.trusted'"))
   228                 ui.warn(_('warning: untrusted hook %s not executed\n') % hname)
   228                 ui.warn(_('warning: untrusted hook %s not executed\n') % hname)
   229                 r = 1
   229                 r = 1
   230                 raised = False
   230                 raised = False
   231             elif callable(cmd):
   231             elif callable(cmd):
   232                 r, raised = _pythonhook(ui, repo, name, hname, cmd, args, throw)
   232                 r, raised = _pythonhook(ui, repo, htype, hname, cmd, args,
       
   233                                         throw)
   233             elif cmd.startswith('python:'):
   234             elif cmd.startswith('python:'):
   234                 if cmd.count(':') >= 2:
   235                 if cmd.count(':') >= 2:
   235                     path, cmd = cmd[7:].rsplit(':', 1)
   236                     path, cmd = cmd[7:].rsplit(':', 1)
   236                     path = util.expandpath(path)
   237                     path = util.expandpath(path)
   237                     if repo:
   238                     if repo:
   242                         ui.write(_("loading %s hook failed:\n") % hname)
   243                         ui.write(_("loading %s hook failed:\n") % hname)
   243                         raise
   244                         raise
   244                     hookfn = getattr(mod, cmd)
   245                     hookfn = getattr(mod, cmd)
   245                 else:
   246                 else:
   246                     hookfn = cmd[7:].strip()
   247                     hookfn = cmd[7:].strip()
   247                 r, raised = _pythonhook(ui, repo, name, hname, hookfn, args,
   248                 r, raised = _pythonhook(ui, repo, htype, hname, hookfn, args,
   248                                         throw)
   249                                         throw)
   249             else:
   250             else:
   250                 r = _exthook(ui, repo, hname, cmd, args, throw)
   251                 r = _exthook(ui, repo, hname, cmd, args, throw)
   251                 raised = False
   252                 raised = False
   252 
   253