diff -r 6097a616178d -r 1632999d4bed mercurial/wireproto.py --- a/mercurial/wireproto.py Sun Sep 10 18:47:39 2017 -0700 +++ b/mercurial/wireproto.py Sun Sep 10 18:48:42 2017 -0700 @@ -795,7 +795,9 @@ @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')