hg.py
36 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
/ mercurial / hg.py
mpm@selenic.com
|
r0 | # 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. | ||||
mpm@selenic.com
|
r1089 | from node import * | ||
from repo import * | ||||
mpm@selenic.com
|
r262 | from demandload import * | ||
Benoit Boissinot
|
r1945 | demandload(globals(), "localrepo bundlerepo httprepo sshrepo statichttprepo") | ||
mpm@selenic.com
|
r0 | |||
mpm@selenic.com
|
r60 | def repository(ui, path=None, create=0): | ||
Matt Mackall
|
r623 | if path: | ||
if path.startswith("http://"): | ||||
mpm@selenic.com
|
r1089 | return httprepo.httprepository(ui, path) | ||
mpm@selenic.com
|
r923 | if path.startswith("https://"): | ||
mpm@selenic.com
|
r1089 | return httprepo.httpsrepository(ui, path) | ||
Matt Mackall
|
r623 | if path.startswith("hg://"): | ||
mpm@selenic.com
|
r1089 | return httprepo.httprepository( | ||
ui, path.replace("hg://", "http://")) | ||||
Matt Mackall
|
r623 | if path.startswith("old-http://"): | ||
mpm@selenic.com
|
r1101 | return statichttprepo.statichttprepository( | ||
ui, path.replace("old-http://", "http://")) | ||||
Matt Mackall
|
r624 | if path.startswith("ssh://"): | ||
mpm@selenic.com
|
r1089 | return sshrepo.sshrepository(ui, path) | ||
Benoit Boissinot
|
r1945 | if path.startswith("bundle://"): | ||
path = path[9:] | ||||
s = path.split("+", 1) | ||||
if len(s) == 1: | ||||
repopath, bundlename = "", s[0] | ||||
else: | ||||
repopath, bundlename = s | ||||
return bundlerepo.bundlerepository(ui, repopath, bundlename) | ||||
mpm@selenic.com
|
r60 | |||
mpm@selenic.com
|
r1102 | return localrepo.localrepository(ui, path, create) | ||