diff -r 39537bc64442 -r 5684bc429e6a mercurial/changegroup.py --- a/mercurial/changegroup.py Wed Aug 03 16:23:26 2016 +0200 +++ b/mercurial/changegroup.py Wed Aug 03 22:07:52 2016 -0700 @@ -946,17 +946,7 @@ Another wrinkle is doing the reverse, figuring out which changeset in the changegroup a particular filenode or manifestnode belongs to. """ - cl = repo.changelog - if not roots: - roots = [nullid] - discbases = [] - for n in roots: - discbases.extend([p for p in cl.parents(n) if p != nullid]) - # TODO: remove call to nodesbetween. - csets, roots, heads = cl.nodesbetween(roots, heads) - included = set(csets) - discbases = [n for n in discbases if n not in included] - outgoing = discovery.outgoing(cl, discbases, heads) + outgoing = discovery.outgoingbetween(repo, roots, heads) bundler = getbundler(version, repo) return getsubset(repo, outgoing, bundler, source)