Mercurial > hg
comparison mercurial/statichttprepo.py @ 2956:6dddcba7596a
merge.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 18 Aug 2006 21:17:28 -0700 |
parents | 345bac2bc4ec |
children | ff06fe0703ef |
comparison
equal
deleted
inserted
replaced
2955:9d1c3529ebbc | 2956:6dddcba7596a |
---|---|
1 # statichttprepo.py - simple http repository class for mercurial | 1 # statichttprepo.py - simple http repository class for mercurial |
2 # | 2 # |
3 # This provides read-only repo access to repositories exported via static http | 3 # This provides read-only repo access to repositories exported via static http |
4 # | 4 # |
5 # Copyright 2005 Matt Mackall <mpm@selenic.com> | 5 # Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> |
6 # | 6 # |
7 # This software may be used and distributed according to the terms | 7 # This software may be used and distributed according to the terms |
8 # of the GNU General Public License, incorporated herein by reference. | 8 # of the GNU General Public License, incorporated herein by reference. |
9 | 9 |
10 from demandload import demandload | 10 from demandload import * |
11 from i18n import gettext as _ | |
11 demandload(globals(), "changelog filelog httprangereader") | 12 demandload(globals(), "changelog filelog httprangereader") |
12 demandload(globals(), "localrepo manifest os urllib urllib2") | 13 demandload(globals(), "localrepo manifest os urllib urllib2 util") |
13 | 14 |
14 class rangereader(httprangereader.httprangereader): | 15 class rangereader(httprangereader.httprangereader): |
15 def read(self, size=None): | 16 def read(self, size=None): |
16 try: | 17 try: |
17 return httprangereader.httprangereader.read(self, size) | 18 return httprangereader.httprangereader.read(self, size) |
28 return rangereader(f) | 29 return rangereader(f) |
29 return o | 30 return o |
30 | 31 |
31 class statichttprepository(localrepo.localrepository): | 32 class statichttprepository(localrepo.localrepository): |
32 def __init__(self, ui, path): | 33 def __init__(self, ui, path): |
34 self._url = path | |
33 self.path = (path + "/.hg") | 35 self.path = (path + "/.hg") |
34 self.ui = ui | 36 self.ui = ui |
35 self.revlogversion = 0 | 37 self.revlogversion = 0 |
36 self.opener = opener(self.path) | 38 self.opener = opener(self.path) |
37 self.manifest = manifest.manifest(self.opener) | 39 self.manifest = manifest.manifest(self.opener) |
39 self.tagscache = None | 41 self.tagscache = None |
40 self.nodetagscache = None | 42 self.nodetagscache = None |
41 self.encodepats = None | 43 self.encodepats = None |
42 self.decodepats = None | 44 self.decodepats = None |
43 | 45 |
46 def url(self): | |
47 return 'static-' + self._url | |
48 | |
44 def dev(self): | 49 def dev(self): |
45 return -1 | 50 return -1 |
46 | 51 |
47 def local(self): | 52 def local(self): |
48 return False | 53 return False |
54 | |
55 def instance(ui, path, create): | |
56 if create: | |
57 raise util.Abort(_('cannot create new static-http repository')) | |
58 if path.startswith('old-http:'): | |
59 ui.warn(_("old-http:// syntax is deprecated, " | |
60 "please use static-http:// instead\n")) | |
61 path = path[4:] | |
62 else: | |
63 path = path[7:] | |
64 return statichttprepository(ui, path) |