author | Vadim Gelfer <vadim.gelfer@gmail.com> |
Thu, 13 Apr 2006 17:42:49 -0700 | |
changeset 2071 | 67a0a3852024 |
parent 1945 | dec6d3c13dbf |
child 2431 | d90a9d7c7d4d |
permissions | -rw-r--r-- |
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 | 8 |
from node import * |
9 |
from repo import * |
|
262 | 10 |
from demandload import * |
1945
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
11 |
demandload(globals(), "localrepo bundlerepo httprepo sshrepo statichttprepo") |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
12 |
|
60 | 13 |
def repository(ui, path=None, create=0): |
623
314867960a4a
Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents:
622
diff
changeset
|
14 |
if path: |
314867960a4a
Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents:
622
diff
changeset
|
15 |
if path.startswith("http://"): |
1089 | 16 |
return httprepo.httprepository(ui, path) |
923 | 17 |
if path.startswith("https://"): |
1089 | 18 |
return httprepo.httpsrepository(ui, path) |
623
314867960a4a
Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents:
622
diff
changeset
|
19 |
if path.startswith("hg://"): |
1089 | 20 |
return httprepo.httprepository( |
21 |
ui, path.replace("hg://", "http://")) |
|
623
314867960a4a
Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents:
622
diff
changeset
|
22 |
if path.startswith("old-http://"): |
1101 | 23 |
return statichttprepo.statichttprepository( |
24 |
ui, path.replace("old-http://", "http://")) |
|
624
876333a295ff
Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com>
parents:
623
diff
changeset
|
25 |
if path.startswith("ssh://"): |
1089 | 26 |
return sshrepo.sshrepository(ui, path) |
1945
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
27 |
if path.startswith("bundle://"): |
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
28 |
path = path[9:] |
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
29 |
s = path.split("+", 1) |
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
30 |
if len(s) == 1: |
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
31 |
repopath, bundlename = "", s[0] |
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
32 |
else: |
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
33 |
repopath, bundlename = s |
dec6d3c13dbf
new type of repo: bundle://path/to/repo+/path/to/bundlename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1102
diff
changeset
|
34 |
return bundlerepo.bundlerepository(ui, repopath, bundlename) |
60 | 35 |
|
1102
c81d264cd17d
localrepo: minor opener usage restructuring
mpm@selenic.com
parents:
1101
diff
changeset
|
36 |
return localrepo.localrepository(ui, path, create) |