[PATCH 08 of 14 V3] pull: reorganize bundle2 argument bundling
Boris Feld
boris.feld at octobus.net
Fri Jan 19 23:47:13 UTC 2018
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1516203125 -3600
# Wed Jan 17 16:32:05 2018 +0100
# Node ID 6c54ed31dd5dbc8ba7de011517ce9c595787ad7d
# Parent e0d5763061cc551ea34f748631fc9985836885a3
# EXP-Topic b2-stream
# Available At https://bitbucket.org/octobus/mercurial-devel/
# hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 6c54ed31dd5d
pull: reorganize bundle2 argument bundling
We are about to add the ability to use stream bundle with bundle2. Before doing
so, we need to gather some code that will not be used in the bundle2 case. There
is no behavior change within this changeset.
diff --git a/mercurial/exchange.py b/mercurial/exchange.py
--- a/mercurial/exchange.py
+++ b/mercurial/exchange.py
@@ -1450,24 +1450,32 @@ def _pullbundle2(pullop):
For now, the only supported data are changegroup."""
kwargs = {'bundlecaps': caps20to10(pullop.repo)}
+ # make ui easier to access
+ ui = pullop.repo.ui
+
# At the moment we don't do stream clones over bundle2. If that is
# implemented then here's where the check for that will go.
streaming = False
+ # declare pull perimeters
+ kwargs['common'] = pullop.common
+ kwargs['heads'] = pullop.heads or pullop.rheads
+
# pulling changegroup
pullop.stepsdone.add('changegroup')
- kwargs['common'] = pullop.common
- kwargs['heads'] = pullop.heads or pullop.rheads
kwargs['cg'] = pullop.fetch
- ui = pullop.repo.ui
legacyphase = 'phases' in ui.configlist('devel', 'legacy.exchange')
hasbinaryphase = 'heads' in pullop.remotebundle2caps.get('phases', ())
if (not legacyphase and hasbinaryphase):
kwargs['phases'] = True
pullop.stepsdone.add('phases')
+ if 'listkeys' in pullop.remotebundle2caps:
+ if 'phases' not in pullop.stepsdone:
+ kwargs['listkeys'] = ['phases']
+
bookmarksrequested = False
legacybookmark = 'bookmarks' in ui.configlist('devel', 'legacy.exchange')
hasbinarybook = 'bookmarks' in pullop.remotebundle2caps
@@ -1482,8 +1490,6 @@ def _pullbundle2(pullop):
bookmarksrequested = True
if 'listkeys' in pullop.remotebundle2caps:
- if 'phases' not in pullop.stepsdone:
- kwargs['listkeys'] = ['phases']
if 'request-bookmarks' not in pullop.stepsdone:
# make sure to always includes bookmark data when migrating
# `hg incoming --bundle` to using this function.
More information about the Mercurial-devel
mailing list