Mercurial > hg
changeset 20928:91b47139d0cb
localrepo: move the getlocalbundle method in changegroup module
This is a gratuitous code move aimed at reducing the localrepo bloatness.
The method had 3 callers total, far too few for being kept in local repo.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 01 Apr 2014 14:33:23 -0700 |
parents | 24a443948627 |
children | afe0b48ef2d7 |
files | mercurial/changegroup.py mercurial/commands.py mercurial/exchange.py mercurial/localrepo.py |
diffstat | 4 files changed, 16 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/changegroup.py Tue Apr 01 14:25:03 2014 -0700 +++ b/mercurial/changegroup.py Tue Apr 01 14:33:23 2014 -0700 @@ -480,3 +480,13 @@ bundler = bundle10(repo) return getsubset(repo, outgoing, bundler, source) +def getlocalbundle(repo, source, outgoing, bundlecaps=None): + """Like getbundle, but taking a discovery.outgoing as an argument. + + This is only implemented for local repos and reuses potentially + precomputed sets in outgoing.""" + if not outgoing.missing: + return None + bundler = bundle10(repo, bundlecaps) + return getsubset(repo, outgoing, bundler, source) +
--- a/mercurial/commands.py Tue Apr 01 14:25:03 2014 -0700 +++ b/mercurial/commands.py Tue Apr 01 14:33:23 2014 -0700 @@ -1142,7 +1142,7 @@ onlyheads=heads, force=opts.get('force'), portable=True) - cg = repo.getlocalbundle('bundle', outgoing, bundlecaps) + cg = changegroup.getlocalbundle(repo, 'bundle', outgoing, bundlecaps) if not cg: scmutil.nochangesfound(ui, repo, outgoing and outgoing.excluded) return 1
--- a/mercurial/exchange.py Tue Apr 01 14:25:03 2014 -0700 +++ b/mercurial/exchange.py Tue Apr 01 14:33:23 2014 -0700 @@ -187,7 +187,8 @@ 'push', fastpath=True) else: - cg = pushop.repo.getlocalbundle('push', outgoing, bundlecaps) + cg = changegroup.getlocalbundle(pushop.repo, 'push', outgoing, + bundlecaps) # apply changegroup to remote if unbundle:
--- a/mercurial/localrepo.py Tue Apr 01 14:25:03 2014 -0700 +++ b/mercurial/localrepo.py Tue Apr 01 14:33:23 2014 -0700 @@ -1683,16 +1683,6 @@ def push(self, remote, force=False, revs=None, newbranch=False): return exchange.push(self, remote, force, revs, newbranch) - def getlocalbundle(self, source, outgoing, bundlecaps=None): - """Like getbundle, but taking a discovery.outgoing as an argument. - - This is only implemented for local repos and reuses potentially - precomputed sets in outgoing.""" - if not outgoing.missing: - return None - bundler = changegroup.bundle10(self, bundlecaps) - return changegroup.getsubset(self, outgoing, bundler, source) - def getbundle(self, source, heads=None, common=None, bundlecaps=None): """Like changegroupsubset, but returns the set difference between the ancestors of heads and the ancestors common. @@ -1710,9 +1700,9 @@ common = [nullid] if not heads: heads = cl.heads() - return self.getlocalbundle(source, - discovery.outgoing(cl, common, heads), - bundlecaps=bundlecaps) + outgoing = discovery.outgoing(cl, common, heads) + return changegroup.getlocalbundle(self, source, outgoing, + bundlecaps=bundlecaps) def changegroup(self, basenodes, source): # to avoid a race we use changegroupsubset() (issue1320)