# HG changeset patch # User Durham Goode # Date 2017-09-11 01:48:42 # Node ID 1632999d4bed161eb0308eb9622a01b65b29e624 # Parent 6097a616178d5a3533026da5091180bc6202f766 changegroup: replace changegroup with makechangegroup As part of reducing the number of changegroup creation APIs, let's replace the changegroup function with makechangegroup. This pushes the responsibility of creating the outgoing set to the caller, but that seems like a simple and reasonable concept for the caller to be aware of. Differential Revision: https://phab.mercurial-scm.org/D668 diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py --- a/mercurial/changegroup.py +++ b/mercurial/changegroup.py @@ -21,7 +21,6 @@ from .node import ( from . import ( dagutil, - discovery, error, mdiff, phases, @@ -951,12 +950,6 @@ def getchangegroup(repo, source, outgoin return makechangegroup(repo, outgoing, version, source, bundlecaps=bundlecaps) -def changegroup(repo, basenodes, source): - # to avoid a race we use changegroupsubset() (issue1320) - outgoing = discovery.outgoing(repo, missingroots=basenodes, - missingheads=repo.heads()) - return makechangegroup(repo, outgoing, '01', source) - def _addchangegroupfiles(repo, source, revmap, trp, expectedfiles, needfiles): revisions = 0 files = 0 diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -287,7 +287,9 @@ class locallegacypeer(repository.legacyp return self._repo.branches(nodes) def changegroup(self, basenodes, source): - return changegroup.changegroup(self._repo, basenodes, source) + outgoing = discovery.outgoing(self._repo, missingroots=basenodes, + missingheads=self._repo.heads()) + return changegroup.makechangegroup(self._repo, outgoing, '01', source) def changegroupsubset(self, bases, heads, source): outgoing = discovery.outgoing(self._repo, missingroots=bases, diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py --- a/mercurial/wireproto.py +++ b/mercurial/wireproto.py @@ -795,7 +795,9 @@ def capabilities(repo, proto): @wireprotocommand('changegroup', 'roots') def changegroup(repo, proto, roots): nodes = decodelist(roots) - cg = changegroupmod.changegroup(repo, nodes, 'serve') + outgoing = discovery.outgoing(repo, missingroots=nodes, + missingheads=repo.heads()) + cg = changegroupmod.makechangegroup(repo, outgoing, '01', 'serve') return streamres(reader=cg, v1compressible=True) @wireprotocommand('changegroupsubset', 'bases heads')