[PATCH 08 of 15] clone: allow bundle2's stream clone with 'server.disablefullbundle'
Boris Feld
boris.feld at octobus.net
Fri Jan 19 15:08:52 EST 2018
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1516203512 -3600
# Wed Jan 17 16:38:32 2018 +0100
# Node ID 77a0634011b5bc89472a134c5ea2b5623f6ca273
# Parent b11f4652647e791727e14c94a0ccb7c0282c5a29
# EXP-Topic b2-stream
# Available At https://bitbucket.org/octobus/mercurial-devel/
# hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 77a0634011b5
clone: allow bundle2's stream clone with 'server.disablefullbundle'
The previous check was a bit too strict and would not recognize a get bundle
not requesting changegroup.
diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py
--- a/mercurial/wireproto.py
+++ b/mercurial/wireproto.py
@@ -855,10 +855,11 @@ def getbundle(repo, proto, others):
if repo.ui.configbool('server', 'disablefullbundle'):
# Check to see if this is a full clone.
clheads = set(repo.changelog.heads())
+ changegroup = opts.get('cg', True)
heads = set(opts.get('heads', set()))
common = set(opts.get('common', set()))
common.discard(nullid)
- if not common and clheads == heads:
+ if changegroup and not common and clheads == heads:
raise error.Abort(
_('server has pull-based clones disabled'),
hint=_('remove --pull if specified or upgrade Mercurial'))
More information about the Mercurial-devel
mailing list