[PATCH 4 of 9] bundlerepo: also read the 'devel.legacy.exchange' config

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Aug 3 10:54:49 EDT 2016


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1470235330 -7200
#      Wed Aug 03 16:42:10 2016 +0200
# Node ID 3b73d07b2179cfe49823b2a770dd2bad769e9401
# Parent  2a9b825514377c8486b8dbd3dfbdd865efeba1fc
# EXP-Topic bundle2.devel
bundlerepo: also read the 'devel.legacy.exchange' config

Bundlerepo does its own bundle2 related logic.

diff -r 2a9b82551437 -r 3b73d07b2179 mercurial/bundlerepo.py
--- a/mercurial/bundlerepo.py	Tue Aug 02 14:48:21 2016 +0200
+++ b/mercurial/bundlerepo.py	Wed Aug 03 16:42:10 2016 +0200
@@ -480,7 +480,14 @@ def getremotechanges(ui, repo, other, on
     if bundlename or not localrepo:
         # create a bundle (uncompressed if other repo is not local)
 
-        canbundle2 = (ui.configbool('experimental', 'bundle2-exp', True)
+        forcebundle1 = False
+        # developer config: devel.legacy.exchange
+        legexc = ui.configlist('devel', 'legacy.exchange')
+        if not legexc:
+            forcebundle1 = not ui.configbool('experimental', 'bundle2-exp', True)
+        else:
+            forcebundle1 = 'bundle2' not in legexc and 'bundle1' in legexc
+        canbundle2 = (not forcebundle1
                       and other.capable('getbundle')
                       and other.capable('bundle2'))
         if canbundle2:


More information about the Mercurial-devel mailing list