comparison mercurial/cmdutil.py @ 4684:849f011dbf79

Remember path to 'hg' executable and pass to external tools and hooks as $HG.
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 23 Jun 2007 20:21:10 +0200
parents 150afe6becf6
children a741293793f6
comparison
equal deleted inserted replaced
4683:8c3d449ecc63 4684:849f011dbf79
18 class AmbiguousCommand(Exception): 18 class AmbiguousCommand(Exception):
19 """Exception raised if command shortcut matches more than one command.""" 19 """Exception raised if command shortcut matches more than one command."""
20 class ParseError(Exception): 20 class ParseError(Exception):
21 """Exception raised on errors in parsing the command line.""" 21 """Exception raised on errors in parsing the command line."""
22 22
23 def runcatch(ui, args): 23 def runcatch(ui, args, argv0=None):
24 def catchterm(*args): 24 def catchterm(*args):
25 raise util.SignalInterrupt 25 raise util.SignalInterrupt
26 26
27 for name in 'SIGBREAK', 'SIGHUP', 'SIGTERM': 27 for name in 'SIGBREAK', 'SIGHUP', 'SIGTERM':
28 num = getattr(signal, name, None) 28 num = getattr(signal, name, None)
32 try: 32 try:
33 # enter the debugger before command execution 33 # enter the debugger before command execution
34 if '--debugger' in args: 34 if '--debugger' in args:
35 pdb.set_trace() 35 pdb.set_trace()
36 try: 36 try:
37 return dispatch(ui, args) 37 return dispatch(ui, args, argv0=argv0)
38 finally: 38 finally:
39 ui.flush() 39 ui.flush()
40 except: 40 except:
41 # enter the debugger when we hit an exception 41 # enter the debugger when we hit an exception
42 if '--debugger' in args: 42 if '--debugger' in args:
253 for opt in aliases: 253 for opt in aliases:
254 if opt in args: 254 if opt in args:
255 return args[args.index(opt) + 1] 255 return args[args.index(opt) + 1]
256 return None 256 return None
257 257
258 def dispatch(ui, args): 258 def dispatch(ui, args, argv0=None):
259 # remember how to call 'hg' before changing the working dir
260 util.set_hgexecutable(argv0)
261
259 # check for cwd first 262 # check for cwd first
260 cwd = earlygetopt(['--cwd'], args) 263 cwd = earlygetopt(['--cwd'], args)
261 if cwd: 264 if cwd:
262 os.chdir(cwd) 265 os.chdir(cwd)
263 266