changeset 20931:de60ca3a390e

localrepo: move the changegroup method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had few callers, not enough to be kept in local repo. The peer API stay unchanged.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 01 Apr 2014 15:08:27 -0700
parents 4a987060d97e
children 0ac83e4e4f7c
files mercurial/changegroup.py mercurial/localrepo.py mercurial/wireproto.py
diffstat 3 files changed, 6 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/changegroup.py	Tue Apr 01 14:40:35 2014 -0700
+++ b/mercurial/changegroup.py	Tue Apr 01 15:08:27 2014 -0700
@@ -510,3 +510,7 @@
     outgoing = discovery.outgoing(cl, common, heads)
     return getlocalbundle(repo, source, outgoing, bundlecaps=bundlecaps)
 
+def changegroup(repo, basenodes, source):
+    # to avoid a race we use changegroupsubset() (issue1320)
+    return changegroupsubset(repo, basenodes, repo.heads(), source)
+
--- a/mercurial/localrepo.py	Tue Apr 01 14:40:35 2014 -0700
+++ b/mercurial/localrepo.py	Tue Apr 01 15:08:27 2014 -0700
@@ -140,7 +140,7 @@
         return self._repo.between(pairs)
 
     def changegroup(self, basenodes, source):
-        return self._repo.changegroup(basenodes, source)
+        return changegroup.changegroup(self._repo, basenodes, source)
 
     def changegroupsubset(self, bases, heads, source):
         return changegroup.changegroupsubset(self._repo, bases, heads, source)
@@ -1683,11 +1683,6 @@
     def push(self, remote, force=False, revs=None, newbranch=False):
         return exchange.push(self, remote, force, revs, newbranch)
 
-    def changegroup(self, basenodes, source):
-        # to avoid a race we use changegroupsubset() (issue1320)
-        return changegroup.changegroupsubset(self, basenodes, self.heads(),
-                                             source)
-
     @unfilteredmethod
     def addchangegroup(self, source, srctype, url, emptyok=False):
         """Add the changegroup returned by source.read() to this repo.
--- a/mercurial/wireproto.py	Tue Apr 01 14:40:35 2014 -0700
+++ b/mercurial/wireproto.py	Tue Apr 01 15:08:27 2014 -0700
@@ -578,7 +578,7 @@
 @wireprotocommand('changegroup', 'roots')
 def changegroup(repo, proto, roots):
     nodes = decodelist(roots)
-    cg = repo.changegroup(nodes, 'serve')
+    cg = changegroupmod.changegroup(repo, nodes, 'serve')
     return streamres(proto.groupchunks(cg))
 
 @wireprotocommand('changegroupsubset', 'bases heads')