hg
61 lines
| 1.7 KiB
| text/plain
|
TextLexer
Gregory Szorc
|
r46434 | #!/usr/bin/env python3 | ||
mpm@selenic.com
|
r0 | # | ||
Matt Mackall
|
r1698 | # mercurial - scalable distributed SCM | ||
mpm@selenic.com
|
r0 | # | ||
Raphaël Gomès
|
r47575 | # Copyright 2005-2007 Olivia Mackall <olivia@selenic.com> | ||
mpm@selenic.com
|
r0 | # | ||
Martin Geisler
|
r8225 | # This software may be used and distributed according to the terms of the | ||
Matt Mackall
|
r10263 | # GNU General Public License version 2 or any later version. | ||
mpm@selenic.com
|
r0 | |||
Matt Harbison
|
r52756 | from __future__ import annotations | ||
Dan Villiom Podlaski Christiansen
|
r12661 | import os | ||
import sys | ||||
libdir = '@LIBDIR@' | ||||
if libdir != '@' 'LIBDIR' '@': | ||||
if not os.path.isabs(libdir): | ||||
Gregory Szorc
|
r44058 | libdir = os.path.join( | ||
os.path.dirname(os.path.realpath(__file__)), libdir | ||||
) | ||||
Dan Villiom Podlaski Christiansen
|
r12661 | libdir = os.path.abspath(libdir) | ||
sys.path.insert(0, libdir) | ||||
Matt Harbison
|
r46672 | # Make `pip install --user ...` packages available to the official Windows | ||
# build. Most py2 packaging installs directly into the system python | ||||
# environment, so no changes are necessary for other platforms. The Windows | ||||
# py2 package uses py2exe, which lacks a `site` module. Hardcode it according | ||||
# to the documentation. | ||||
if getattr(sys, 'frozen', None) == 'console_exe': | ||||
vi = sys.version_info | ||||
Matt Harbison
|
r48694 | appdata = os.environ.get('APPDATA') | ||
if appdata: | ||||
sys.path.append( | ||||
os.path.join( | ||||
appdata, | ||||
'Python', | ||||
'Python%d%d' % (vi[0], vi[1]), | ||||
'site-packages', | ||||
) | ||||
Matt Harbison
|
r46672 | ) | ||
Jason R. Coombs
|
r51427 | try: | ||
from hgdemandimport import tracing | ||||
except ImportError: | ||||
sys.stderr.write( | ||||
"abort: couldn't find mercurial libraries in [%s]\n" | ||||
% ' '.join(sys.path) | ||||
) | ||||
sys.stderr.write("(check your install and PYTHONPATH)\n") | ||||
sys.exit(-1) | ||||
Gregory Szorc
|
r44058 | |||
Augie Fackler
|
r39628 | with tracing.log('hg script'): | ||
# enable importing on demand to reduce startup time | ||||
Jason R. Coombs
|
r51427 | import hgdemandimport | ||
Gregory Szorc
|
r44058 | |||
Jason R. Coombs
|
r51427 | hgdemandimport.enable() | ||
Thomas Arendsen Hein
|
r5197 | |||
Augie Fackler
|
r39628 | from mercurial import dispatch | ||
Gregory Szorc
|
r44058 | |||
Augie Fackler
|
r39628 | dispatch.run() | ||