# HG changeset patch # User Boris Feld # Date 1516203512 -3600 # Node ID 133a678673cb151958e1a01ff7b4c9ad7e5feecf # Parent c24dad55ac190827808bd3445f56f2758b60a630 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 -r c24dad55ac19 -r 133a678673cb mercurial/wireproto.py --- a/mercurial/wireproto.py Wed Jan 17 16:36:23 2018 +0100 +++ b/mercurial/wireproto.py Wed Jan 17 16:38:32 2018 +0100 @@ -866,10 +866,11 @@ 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'))