mercurial/hg.py
author mpm@selenic.com
Sat, 27 Aug 2005 14:56:58 -0700
changeset 1093 1f1661c58283
parent 1090 1bca39b85615
child 1094 221b5252864c
permissions -rw-r--r--
commands: use revlog directly for debug commands This eliminates the import in hg.py
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     1
# hg.py - repository classes for mercurial
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     2
#
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     3
# Copyright 2005 Matt Mackall <mpm@selenic.com>
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     4
#
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     5
# This software may be used and distributed according to the terms
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     6
# of the GNU General Public License, incorporated herein by reference.
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     7
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
     8
import os
419
28511fc21073 [PATCH] file seperator handling for the other 'OS'
mpm@selenic.com
parents: 418
diff changeset
     9
import util
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    10
from node import *
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    11
from repo import *
262
3db700146536 implement demand loading hack
mpm@selenic.com
parents: 256
diff changeset
    12
from demandload import *
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    13
demandload(globals(), "localrepo httprepo sshrepo")
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
    14
60
e32fdbd97839 Add hg:// protocol
mpm@selenic.com
parents: 56
diff changeset
    15
def repository(ui, path=None, create=0):
623
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
    16
    if path:
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
    17
        if path.startswith("http://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    18
            return httprepo.httprepository(ui, path)
923
c7a3b88505cd Add basic https support for pull
mpm@selenic.com
parents: 919
diff changeset
    19
        if path.startswith("https://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    20
            return httprepo.httpsrepository(ui, path)
623
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
    21
        if path.startswith("hg://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    22
            return httprepo.httprepository(
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    23
                ui, path.replace("hg://", "http://"))
623
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
    24
        if path.startswith("old-http://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    25
            return localrepo.localrepository(
1090
1bca39b85615 Move opener to utils
mpm@selenic.com
parents: 1089
diff changeset
    26
                ui, util.opener, path.replace("old-http://", "http://"))
624
876333a295ff Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com>
parents: 623
diff changeset
    27
        if path.startswith("ssh://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
    28
            return sshrepo.sshrepository(ui, path)
60
e32fdbd97839 Add hg:// protocol
mpm@selenic.com
parents: 56
diff changeset
    29
1090
1bca39b85615 Move opener to utils
mpm@selenic.com
parents: 1089
diff changeset
    30
    return localrepo.localrepository(ui, util.opener, path, create)