mercurial/httprepo.py
changeset 2442 c660691fb45d
parent 2439 e8c4f3d3df8c
child 2446 1b2bbb2b4911
--- a/mercurial/httprepo.py	Thu Jun 15 16:41:49 2006 -0700
+++ b/mercurial/httprepo.py	Thu Jun 15 17:07:30 2006 -0700
@@ -71,7 +71,7 @@
 
 class httprepository(remoterepository):
     def __init__(self, ui, path):
-        self.capabilities = ()
+        self.caps = None
         scheme, netloc, urlpath, query, frag = urlparse.urlsplit(path)
         if query or frag:
             raise util.Abort(_('unsupported URL component: "%s"') %
@@ -145,6 +145,18 @@
         opener.addheaders = [('User-agent', 'mercurial/proto-1.0')]
         urllib2.install_opener(opener)
 
+    # look up capabilities only when needed
+
+    def get_caps(self):
+        if self.caps is None:
+            try:
+                self.caps = self.do_read('capabilities').split()
+            except hg.RepoError:
+                self.caps = ()
+        return self.caps
+
+    capabilities = property(get_caps)
+
     def dev(self):
         return -1