bundle2: rename the _canusebundle2 method to _forcebundle1
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Wed, 03 Aug 2016 15:01:23 +0200
changeset 29682 2db085d5f5a2
parent 29681 be1d3770c2c2
child 29683 6786c3f8684d
bundle2: rename the _canusebundle2 method to _forcebundle1 We rename and invert the logic of the _canusebundle2 utility. The idea here is that we need to have a way to enforce the use of bundle1 in the tests. The Mercurial philosophy is to try to use the best method available. Currently that best method is bundle2, but this might change in the future. Therefore expressing "do not use bundle2" is a loosy way to say "use bundle 1" and will likely create issue in the future. As the config option will be explicitly about bundle1, we rename the function beforehand to align with this. This will make the life of a future developer working on bundle3 easier.
mercurial/exchange.py
--- a/mercurial/exchange.py	Wed Aug 03 14:24:09 2016 +0200
+++ b/mercurial/exchange.py	Wed Aug 03 15:01:23 2016 +0200
@@ -257,12 +257,12 @@
         return bundler.newpart('obsmarkers', data=stream)
     return None
 
-def _canusebundle2(op):
-    """return true if a pull/push can use bundle2
+def _forcebundle1(op):
+    """return true if a pull/push must use bundle1
 
     Feel free to nuke this function when we drop the experimental option"""
-    return (op.repo.ui.configbool('experimental', 'bundle2-exp', True)
-            and op.remote.capable('bundle2'))
+    return not (op.repo.ui.configbool('experimental', 'bundle2-exp', True)
+                and op.remote.capable('bundle2'))
 
 
 class pushoperation(object):
@@ -417,7 +417,7 @@
         # bundle2 push may receive a reply bundle touching bookmarks or other
         # things requiring the wlock. Take it now to ensure proper ordering.
         maypushback = pushop.ui.configbool('experimental', 'bundle2.pushback')
-        if _canusebundle2(pushop) and maypushback:
+        if (not _forcebundle1(pushop)) and maypushback:
             localwlock = pushop.repo.wlock()
         locallock = pushop.repo.lock()
         pushop.locallocked = True
@@ -442,7 +442,7 @@
             lock = pushop.remote.lock()
         try:
             _pushdiscovery(pushop)
-            if _canusebundle2(pushop):
+            if not _forcebundle1(pushop):
                 _pushbundle2(pushop)
             _pushchangeset(pushop)
             _pushsyncphase(pushop)
@@ -1099,7 +1099,7 @@
 
     @util.propertycache
     def canusebundle2(self):
-        return _canusebundle2(self)
+        return not _forcebundle1(self)
 
     @util.propertycache
     def remotebundle2caps(self):