hg
author Matt Harbison <matt_harbison@yahoo.com>
Fri, 27 Nov 2020 15:54:46 -0500
changeset 45969 a120d1c9c704
parent 45849 c102b704edb5
child 46059 7740d5102760
permissions -rwxr-xr-x
dispatch: print the version of each extension in the bug report, if available Sometimes the wrong extensions is blamed, so we might as well print the version info for all of them. Additionally, since the internal extensions are never blamed, this is a good way to make the pygit2 version available in a bug report. Differential Revision: https://phab.mercurial-scm.org/D9440

#!/usr/bin/env python3
#
# mercurial - scalable distributed SCM
#
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import

import os
import sys

libdir = '@LIBDIR@'

if libdir != '@' 'LIBDIR' '@':
    if not os.path.isabs(libdir):
        libdir = os.path.join(
            os.path.dirname(os.path.realpath(__file__)), libdir
        )
        libdir = os.path.abspath(libdir)
    sys.path.insert(0, libdir)

from hgdemandimport import tracing

with tracing.log('hg script'):
    # enable importing on demand to reduce startup time
    try:
        if sys.version_info[0] < 3 or sys.version_info >= (3, 6):
            import hgdemandimport

            hgdemandimport.enable()
    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)

    from mercurial import dispatch

    dispatch.run()