Mercurial > public > mercurial-scm > hg
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 |