mercurial/hook.py
changeset 38629 38dfd308fe9d
parent 38628 539f9708b980
child 38722 2009d84f245a
equal deleted inserted replaced
38628:539f9708b980 38629:38dfd308fe9d
   137             v = v()
   137             v = v()
   138         if isinstance(v, (dict, list)):
   138         if isinstance(v, (dict, list)):
   139             v = stringutil.pprint(v)
   139             v = stringutil.pprint(v)
   140         env['HG_' + k.upper()] = v
   140         env['HG_' + k.upper()] = v
   141 
   141 
   142     cmd = procutil.shelltonative(cmd, env)
   142     if ui.configbool('hooks', 'tonative.%s' % name, pycompat.iswindows):
       
   143         ui.note(_('converting hook "%s" to native\n') % name)
       
   144         cmd = procutil.shelltonative(cmd, env)
   143 
   145 
   144     ui.note(_("running hook %s: %s\n") % (name, cmd))
   146     ui.note(_("running hook %s: %s\n") % (name, cmd))
   145 
   147 
   146     if repo:
   148     if repo:
   147         cwd = repo.root
   149         cwd = repo.root
   179 
   181 
   180 def _hookitems(ui, _untrusted=False):
   182 def _hookitems(ui, _untrusted=False):
   181     """return all hooks items ready to be sorted"""
   183     """return all hooks items ready to be sorted"""
   182     hooks = {}
   184     hooks = {}
   183     for name, cmd in ui.configitems('hooks', untrusted=_untrusted):
   185     for name, cmd in ui.configitems('hooks', untrusted=_untrusted):
   184         if not name.startswith('priority.'):
   186         if name.startswith('priority.') or name.startswith('tonative.'):
   185             priority = ui.configint('hooks', 'priority.%s' % name, 0)
   187             continue
   186             hooks[name] = (-priority, len(hooks), name, cmd)
   188 
       
   189         priority = ui.configint('hooks', 'priority.%s' % name, 0)
       
   190         hooks[name] = (-priority, len(hooks), name, cmd)
   187     return hooks
   191     return hooks
   188 
   192 
   189 _redirect = False
   193 _redirect = False
   190 def redirect(state):
   194 def redirect(state):
   191     global _redirect
   195     global _redirect