mercurial/cmdutil.py
changeset 4552 38cdee6b6675
parent 4551 61e33f1d44a8
child 4553 741f64dfc04d
equal deleted inserted replaced
4551:61e33f1d44a8 4552:38cdee6b6675
   236             parsed.append((section, name, value))
   236             parsed.append((section, name, value))
   237         except (IndexError, ValueError):
   237         except (IndexError, ValueError):
   238             raise util.Abort(_('malformed --config option: %s') % cfg)
   238             raise util.Abort(_('malformed --config option: %s') % cfg)
   239     return parsed
   239     return parsed
   240 
   240 
       
   241 def earlygetopt(aliases, args):
       
   242     if "--" in args:
       
   243         args = args[:args.index("--")]
       
   244     for opt in aliases:
       
   245         if opt in args:
       
   246             return args[args.index(opt) + 1]
       
   247     return None
       
   248 
   241 def dispatch(ui, args):
   249 def dispatch(ui, args):
       
   250     # check for cwd first
       
   251     cwd = earlygetopt(['--cwd'], args)
       
   252     if cwd:
       
   253         os.chdir(cwd)
       
   254 
   242     extensions.loadall(ui)
   255     extensions.loadall(ui)
   243     ui.addreadhook(extensions.loadall)
   256     ui.addreadhook(extensions.loadall)
   244 
   257 
   245     cmd, func, args, options, cmdoptions = parse(ui, args)
   258     cmd, func, args, options, cmdoptions = parse(ui, args)
   246 
   259 
   258         def print_time():
   271         def print_time():
   259             t = get_times()
   272             t = get_times()
   260             ui.warn(_("Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n") %
   273             ui.warn(_("Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n") %
   261                 (t[4]-s[4], t[0]-s[0], t[2]-s[2], t[1]-s[1], t[3]-s[3]))
   274                 (t[4]-s[4], t[0]-s[0], t[2]-s[2], t[1]-s[1], t[3]-s[3]))
   262         atexit.register(print_time)
   275         atexit.register(print_time)
   263 
       
   264     if options['cwd']:
       
   265         os.chdir(options['cwd'])
       
   266 
   276 
   267     ui.updateopts(options["verbose"], options["debug"], options["quiet"],
   277     ui.updateopts(options["verbose"], options["debug"], options["quiet"],
   268                  not options["noninteractive"], options["traceback"],
   278                  not options["noninteractive"], options["traceback"],
   269                  parseconfig(options["config"]))
   279                  parseconfig(options["config"]))
   270 
   280