diff -r af13097b44dd -r 709b44f38ab9 mercurial/exchange.py --- a/mercurial/exchange.py Tue Sep 12 15:12:27 2017 -0700 +++ b/mercurial/exchange.py Tue Sep 12 09:13:02 2017 -0700 @@ -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)