diff -r ef1032c223e7 -r 6ca49c5fe268 mercurial/localrepo.py --- 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: