1681 pass |
1681 pass |
1682 |
1682 |
1683 def push(self, remote, force=False, revs=None, newbranch=False): |
1683 def push(self, remote, force=False, revs=None, newbranch=False): |
1684 return exchange.push(self, remote, force, revs, newbranch) |
1684 return exchange.push(self, remote, force, revs, newbranch) |
1685 |
1685 |
1686 def getlocalbundle(self, source, outgoing, bundlecaps=None): |
|
1687 """Like getbundle, but taking a discovery.outgoing as an argument. |
|
1688 |
|
1689 This is only implemented for local repos and reuses potentially |
|
1690 precomputed sets in outgoing.""" |
|
1691 if not outgoing.missing: |
|
1692 return None |
|
1693 bundler = changegroup.bundle10(self, bundlecaps) |
|
1694 return changegroup.getsubset(self, outgoing, bundler, source) |
|
1695 |
|
1696 def getbundle(self, source, heads=None, common=None, bundlecaps=None): |
1686 def getbundle(self, source, heads=None, common=None, bundlecaps=None): |
1697 """Like changegroupsubset, but returns the set difference between the |
1687 """Like changegroupsubset, but returns the set difference between the |
1698 ancestors of heads and the ancestors common. |
1688 ancestors of heads and the ancestors common. |
1699 |
1689 |
1700 If heads is None, use the local heads. If common is None, use [nullid]. |
1690 If heads is None, use the local heads. If common is None, use [nullid]. |
1708 common = [n for n in common if hasnode(n)] |
1698 common = [n for n in common if hasnode(n)] |
1709 else: |
1699 else: |
1710 common = [nullid] |
1700 common = [nullid] |
1711 if not heads: |
1701 if not heads: |
1712 heads = cl.heads() |
1702 heads = cl.heads() |
1713 return self.getlocalbundle(source, |
1703 outgoing = discovery.outgoing(cl, common, heads) |
1714 discovery.outgoing(cl, common, heads), |
1704 return changegroup.getlocalbundle(self, source, outgoing, |
1715 bundlecaps=bundlecaps) |
1705 bundlecaps=bundlecaps) |
1716 |
1706 |
1717 def changegroup(self, basenodes, source): |
1707 def changegroup(self, basenodes, source): |
1718 # to avoid a race we use changegroupsubset() (issue1320) |
1708 # to avoid a race we use changegroupsubset() (issue1320) |
1719 return changegroup.changegroupsubset(self, basenodes, self.heads(), |
1709 return changegroup.changegroupsubset(self, basenodes, self.heads(), |
1720 source) |
1710 source) |