diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -1632,8 +1632,9 @@ raise ValueError(_('no common changegroup version')) version = max(cgversions) outgoing = _computeoutgoing(repo, heads, common) - cgstream = changegroup.makestream(repo, outgoing, version, source, - bundlecaps=bundlecaps) + if outgoing.missing: + cgstream = changegroup.makestream(repo, outgoing, version, source, + bundlecaps=bundlecaps) if cgstream: part = bundler.newpart('changegroup', data=cgstream)