mercurial/localrepo.py
changeset 3448 6ca49c5fe268
parent 3443 e6045fc3cd50
child 3450 27ebe4efe98e
--- a/mercurial/localrepo.py	Sat Sep 09 18:25:06 2006 -0700
+++ b/mercurial/localrepo.py	Sat Sep 09 18:25:07 2006 -0700
@@ -15,7 +15,7 @@
 demandload(globals(), "os revlog time util")
 
 class localrepository(repo.repository):
-    capabilities = ()
+    capabilities = ('lookup', 'changegroupsubset')
 
     def __del__(self):
         self.transhandle = None
@@ -1241,6 +1241,8 @@
             if heads is None:
                 cg = remote.changegroup(fetch, 'pull')
             else:
+                if 'changegroupsubset' not in remote.capabilities:
+                    raise util.Abort(_("Partial pull cannot be done because other repository doesn't support changegroupsubset."))
                 cg = remote.changegroupsubset(fetch, heads, 'pull')
             return self.addchangegroup(cg, 'pull', remote.url())
         finally: