mercurial/hg.py
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Sun, 29 Jan 2006 08:38:31 +1300
changeset 1645 c6ffedc4f11b
parent 1102 c81d264cd17d
child 1945 dec6d3c13dbf
permissions -rw-r--r--
add removed files to the changelog file list - this should allow better detection of removed file when walking in the history (like hg log) it doesn't help for the fast path of hg log where we only look at the filelog - users of the changelog file list shouldn't assume anymore that the file still exist (anyway it won't be found in the manifest like in 5ecf05541e11) - fix the tests (some hashes changed)

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