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)