mercurial/hg.py
author mpm@selenic.com
Sat, 27 Aug 2005 14:31:41 -0700
changeset 1090 1bca39b85615
parent 1089 142b5d5ec9cc
child 1093 1f1661c58283
permissions -rw-r--r--
Move opener to utils - move the opener code down to util - add docstring - change commands.py users to simply use file instead

# 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.

import os
import util
from node import *
from revlog import *
from repo import *
from demandload import *
demandload(globals(), "localrepo httprepo sshrepo")

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 localrepo.localrepository(
                ui, util.opener, path.replace("old-http://", "http://"))
        if path.startswith("ssh://"):
            return sshrepo.sshrepository(ui, path)

    return localrepo.localrepository(ui, util.opener, path, create)