comparison mercurial/localrepo.py @ 1461:02099220ad49

Implementing clone -r, which clones all changesets needed to reach a particular revision.
author Eric Hopper <hopper@omnifarious.org>
date Fri, 07 Oct 2005 19:51:09 -0700
parents 40d08cf1c544
children 12a8d772fa32
comparison
equal deleted inserted replaced
1460:40d08cf1c544 1461:02099220ad49
848 subset.append(n) 848 subset.append(n)
849 849
850 # this is the set of all roots we have to push 850 # this is the set of all roots we have to push
851 return subset 851 return subset
852 852
853 def pull(self, remote): 853 def pull(self, remote, heads = None):
854 lock = self.lock() 854 lock = self.lock()
855 855
856 # if we have an empty repo, fetch everything 856 # if we have an empty repo, fetch everything
857 if self.changelog.tip() == nullid: 857 if self.changelog.tip() == nullid:
858 self.ui.status("requesting all changes\n") 858 self.ui.status("requesting all changes\n")
862 862
863 if not fetch: 863 if not fetch:
864 self.ui.status("no changes found\n") 864 self.ui.status("no changes found\n")
865 return 1 865 return 1
866 866
867 cg = remote.changegroup(fetch) 867 if heads is None:
868 cg = remote.changegroup(fetch)
869 else:
870 cg = remote.changegroupsubset(fetch, heads)
868 return self.addchangegroup(cg) 871 return self.addchangegroup(cg)
869 872
870 def push(self, remote, force=False): 873 def push(self, remote, force=False):
871 lock = remote.lock() 874 lock = remote.lock()
872 875