mercurial/hg.py
author Volker.Kleinfeld@gmx.de
Tue, 20 Sep 2005 19:25:14 -0700
changeset 1283 f5faab34f32e
parent 1102 c81d264cd17d
child 1945 dec6d3c13dbf
permissions -rw-r--r--
Support for the distutils extention 'py2exe' added. Description: - If the py2exe distutils extention is installed this patch allows building standalone exe for windows - example: > python setup.py build --compiler=mingw32 py2exe - The 'out of the box' py2exe is not able to resolve the dependencies due to 'demandload'. A new helper module of scanning the mercurial package has been added. Changed: - setup.py: importing py2exe and sub classing its command class to fetch the build directory and insert the needed includes - packagescan.py: new helper module added, that scans the distutil build directory for modules to be included.

# hg.py - repository classes for mercurial
#
# Copyright 2005 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.

from node import *
from repo import *
from demandload import *
demandload(globals(), "localrepo httprepo sshrepo statichttprepo")

def repository(ui, path=None, create=0):
    if path:
        if path.startswith("http://"):
            return httprepo.httprepository(ui, path)
        if path.startswith("https://"):
            return httprepo.httpsrepository(ui, path)
        if path.startswith("hg://"):
            return httprepo.httprepository(
                ui, path.replace("hg://", "http://"))
        if path.startswith("old-http://"):
            return statichttprepo.statichttprepository(
                ui, path.replace("old-http://", "http://"))
        if path.startswith("ssh://"):
            return sshrepo.sshrepository(ui, path)

    return localrepo.localrepository(ui, path, create)