##// END OF EJS Templates
Added signature for changeset 2be3001847cb18a23c403439d9e7d0ace30804e9
Added signature for changeset 2be3001847cb18a23c403439d9e7d0ace30804e9

File last commit:

r2072:74d3f533 default
r2660:ad329294 default
Show More
statichttprepo.py
48 lines | 1.5 KiB | text/x-python | PythonLexer
mpm@selenic.com
Separate out old-http support...
r1101 # statichttprepo.py - simple http repository class for mercurial
#
# This provides read-only repo access to repositories exported via static http
#
# 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.
Bryan O'Sullivan
Move urllib error handling from revlog into statichttprepo, where it belongs.
r1325 from demandload import demandload
demandload(globals(), "changelog filelog httprangereader")
demandload(globals(), "localrepo manifest os urllib urllib2")
class rangereader(httprangereader.httprangereader):
def read(self, size=None):
try:
return httprangereader.httprangereader.read(self, size)
Thomas Arendsen Hein
Catch urllib errors for old-http in a nicer way.
r1821 except urllib2.HTTPError, inst:
raise IOError(None, inst)
Bryan O'Sullivan
Move urllib error handling from revlog into statichttprepo, where it belongs.
r1325 except urllib2.URLError, inst:
Thomas Arendsen Hein
Catch urllib errors for old-http in a nicer way.
r1821 raise IOError(None, inst.reason[1])
mpm@selenic.com
Separate out old-http support...
r1101
def opener(base):
"""return a function that opens files over http"""
p = base
def o(path, mode="r"):
f = os.path.join(p, urllib.quote(path))
Bryan O'Sullivan
Move urllib error handling from revlog into statichttprepo, where it belongs.
r1325 return rangereader(f)
mpm@selenic.com
Separate out old-http support...
r1101 return o
class statichttprepository(localrepo.localrepository):
def __init__(self, ui, path):
self.path = (path + "/.hg")
self.ui = ui
mason@suse.com
Implement revlogng....
r2072 self.revlogversion = 0
mpm@selenic.com
Separate out old-http support...
r1101 self.opener = opener(self.path)
self.manifest = manifest.manifest(self.opener)
self.changelog = changelog.changelog(self.opener)
self.tagscache = None
self.nodetagscache = None
Benoit Boissinot
cleanup of revlog.group when repository is local...
r1598 self.encodepats = None
self.decodepats = None
mpm@selenic.com
Separate out old-http support...
r1101
def dev(self):
return -1
def local(self):
return False