diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -964,9 +964,7 @@ def pull(repo, remote, heads=None, force lock = pullop.repo.lock() try: pullop.trmanager = transactionmanager(repo, 'pull', remote.url()) - streamclone.maybeperformstreamclone(pullop.repo, pullop.remote, - pullop.heads, - pullop.streamclonerequested) + streamclone.maybeperformstreamclone(pullop) _pulldiscovery(pullop) if _canusebundle2(pullop): _pullbundle2(pullop) diff --git a/mercurial/streamclone.py b/mercurial/streamclone.py --- a/mercurial/streamclone.py +++ b/mercurial/streamclone.py @@ -66,9 +66,14 @@ def canperformstreamclone(repo, remote, return True, requirements -def maybeperformstreamclone(repo, remote, heads, stream): - supported, requirements = canperformstreamclone(repo, remote, heads, - streamrequested=stream) +def maybeperformstreamclone(pullop): + repo = pullop.repo + remote = pullop.remote + + r = canperformstreamclone(repo, remote, pullop.heads, + streamrequested=pullop.streamclonerequested) + supported, requirements = r + if not supported: return