[PATCH 1 of 5 modernize-streamclone] streamclone: refactor maybeperformstreamclone to take a pullop

Gregory Szorc gregory.szorc at gmail.com
Sun Oct 4 18:39:38 UTC 2015


# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1443982852 25200
#      Sun Oct 04 11:20:52 2015 -0700
# Node ID 75d8cd0377ab35712741e1fc0add30126c41b620
# Parent  1599701b9d89d518d7509bb911f34a45e6e4f334
streamclone: refactor maybeperformstreamclone to take a pullop

Just like all the other pull steps. Consistency is good.

This seems a little excessive right now since maybeperformstreamclone is
such a short function. This will be addressed in a subsequent patch.

diff --git a/mercurial/exchange.py b/mercurial/exchange.py
--- a/mercurial/exchange.py
+++ b/mercurial/exchange.py
@@ -954,11 +954,9 @@ 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)
         _pullchangeset(pullop)
diff --git a/mercurial/streamclone.py b/mercurial/streamclone.py
--- a/mercurial/streamclone.py
+++ b/mercurial/streamclone.py
@@ -65,11 +65,16 @@ def canperformstreamclone(repo, remote, 
         requirements = streamreqs
 
     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
 
     streamin(repo, remote, requirements)


More information about the Mercurial-devel mailing list