mercurial/localrepo.py
changeset 1461 02099220ad49
parent 1460 40d08cf1c544
child 1462 12a8d772fa32
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -850,7 +850,7 @@ class localrepository:
         # this is the set of all roots we have to push
         return subset
 
-    def pull(self, remote):
+    def pull(self, remote, heads = None):
         lock = self.lock()
 
         # if we have an empty repo, fetch everything
@@ -864,7 +864,10 @@ class localrepository:
             self.ui.status("no changes found\n")
             return 1
 
-        cg = remote.changegroup(fetch)
+        if heads is None:
+            cg = remote.changegroup(fetch)
+        else:
+            cg = remote.changegroupsubset(fetch, heads)
         return self.addchangegroup(cg)
 
     def push(self, remote, force=False):