comparison mercurial/util.py @ 15106:76cd1964519c

util: fix finding of hgexecutable The version introduced in 89d9f92f6fdd would for example return thg (thanks to Mads Kiilerich for pointing to this)
author Simon Heimberg <simohe@besonet.ch>
date Sat, 23 Jul 2011 06:18:18 +0200
parents d30ec2d16c5a
children 85322c19c831
comparison
equal deleted inserted replaced
15105:6e91fba485fa 15106:76cd1964519c
368 368
369 Defaults to $HG or 'hg' in the search path. 369 Defaults to $HG or 'hg' in the search path.
370 """ 370 """
371 if _hgexecutable is None: 371 if _hgexecutable is None:
372 hg = os.environ.get('HG') 372 hg = os.environ.get('HG')
373 mainmod = sys.modules['__main__']
373 if hg: 374 if hg:
374 _sethgexecutable(hg) 375 _sethgexecutable(hg)
375 elif mainfrozen(): 376 elif mainfrozen():
376 _sethgexecutable(sys.executable) 377 _sethgexecutable(sys.executable)
377 elif getattr(sys.modules['__main__'], '__file__', '').endswith('hg'): 378 elif os.path.basename(getattr(mainmod, '__file__', '')) == 'hg':
378 _sethgexecutable(sys.modules['__main__'].__file__) 379 _sethgexecutable(mainmod.__file__)
379 else: 380 else:
380 exe = findexe('hg') or os.path.basename(sys.argv[0]) 381 exe = findexe('hg') or os.path.basename(sys.argv[0])
381 _sethgexecutable(exe) 382 _sethgexecutable(exe)
382 return _hgexecutable 383 return _hgexecutable
383 384